Part Number Hot Search : 
SP352A PF251 106M16 41202 MMBD4448 MPSA64G 40N120 ZVN4525G
Product Description
Full Text Search
 

To Download WM9714L Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  w WM9714L ac?97 audio codec wolfson microelectronics plc to receive regular email updates, sign up at http://www.wolfsonmicro.com/enews/ pre-production, june 2006, rev 3.0 copyright ? 2006 wolfson microelectronics plc description the WM9714L is a highly integrated input/output device designed for mobile computing and communications. the chip is architected for dual codec operation, supporting hi-fi stereo codec functions via the ac link interface, and additionally supporting voice codec functions via a pcm type synchronous serial port (ssp). a third, auxiliary dac is provided which may be used to support generation of supervisory tones, or ring-tones at different sample rates to the main codec. the device can connect directly to mono or stereo microphones, stereo headphones and a stereo speaker, reducing total component count in the system. cap-less connections to the headphones, speakers, and earpiece may be used, saving cost and board area. additionally, multiple analog input and output pins are provided for seamless integration with analog connected wireless communication devices. all device functions are accessed and controlled through a single ac-link interface compliant with the ac97 standard. the 24.576 mhz masterclock can be input directly or generated internally from a 13mhz (or other frequency) clock by an on-chip pll. the pll supports a wide range of input clock from 2.048mhz to 78.6mhz. the WM9714L operates at supply voltages from 1.8v to 3.6v. each section of the chip can be powered down under software control to save power. the device is available in a small leadless 7x7mm qfn package, ideal for use in hand-held portable systems. features ? ac97 rev 2.2 compatible stereo codec - dac snr 94db, thd C85db - adc snr 87db, thd C86db - variable rate audio, supports all wince sample rates - tone control, bass boost and 3d enhancement ? on-chip 45mw headphone driver ? on-chip 400mw mono or stereo speaker drivers ? stereo, mono or differential microphone input - automatic level control (alc) - mic insert and mic button press detection ? auxiliary mono dac (ring tone or dc level generation) ? seamless interface to wireless chipset ? additional pcm/i 2 s interface to support voice codec ? pll derived audio clocks. ? supports input clock ranging from 2.048mhz to 78.6mhz ? 1.8v to 3.6v supplies (digital down to 1.62v, speaker up to 4.2v) ? 7x7mm 48-lead qfn package applications ? personal digital assistants (pda) with or without phone ? smartphones ? handheld and tablet computers block diagram
WM9714L pre-production w pp rev 3.0 june 2006 2 table of contents description .......................................................................................................1 features.............................................................................................................1 applications .....................................................................................................1 block diagram .................................................................................................1 table of contents .........................................................................................2 pin configuration...........................................................................................4 ordering information ..................................................................................4 pin description ................................................................................................5 absolute maximum ratings.........................................................................6 recommended operating conditions .....................................................6 electrical characteristics ......................................................................7 audio outputs.......................................................................................................... 7 audio inputs.............................................................................................................. 8 auxiliary mono dac (auxdac).............................................................................. 8 pcm voice dac (vxdac) ........................................................................................... 8 auxiliary adc............................................................................................................ 9 comparators ........................................................................................................... 9 reference voltages ............................................................................................. 9 digital interface characteristics................................................................ 10 power consumption ....................................................................................10 device description .......................................................................................11 introduction.......................................................................................................... 11 audio paths overview......................................................................................... 12 clock generation ................................................................................................ 13 clock division modes .......................................................................................... 13 pll mode ................................................................................................................... 16 digital interfaces................................................................................................ 18 ac97 interface ....................................................................................................... 18 pcm interface ........................................................................................................ 19 audio adcs .......................................................................................................24 stereo adc.............................................................................................................. 24 record selector ................................................................................................. 25 record gain............................................................................................................ 26 automatic level control.................................................................................. 27 audio dacs .......................................................................................................30 stereo dac.............................................................................................................. 30 voice dac ................................................................................................................. 33 auxiliary dac.......................................................................................................... 34 variable rate audio / sample rate conversion ...............................35 audio inputs ....................................................................................................36 line input ................................................................................................................. 36 microphone input................................................................................................. 36 monoin input........................................................................................................... 40 pcbeep input ........................................................................................................... 41 differential mono input .................................................................................... 42 audio mixers....................................................................................................43
pre-production WM9714L w pp rev 3.0 june 2006 3 mixer overview ..................................................................................................... 43 headphone mixers ................................................................................................ 43 speaker mixer ........................................................................................................ 43 mono mixer.............................................................................................................. 44 mixer output inverters..................................................................................... 44 analogue audio outputs ...........................................................................45 headphone outputs C hpl and hpr................................................................. 45 mono output .......................................................................................................... 46 speaker outputs C spkl and spkr .................................................................. 47 auxiliary outputs C out3 and out4 ................................................................ 48 thermal sensor .................................................................................................... 49 jack insertion and auto-switching............................................................... 50 digital audio (spdif) output......................................................................53 auxiliary adc ..................................................................................................54 additional features....................................................................................58 battery alarm and analogue comparators.............................................. 58 gpio and interrupt control............................................................................ 61 power management .....................................................................................65 introduction.......................................................................................................... 65 ac97 control register....................................................................................... 65 extended powerdown registers .................................................................. 65 additional power management....................................................................... 66 power on reset (por) ......................................................................................... 67 ac97 interface timing.......................................................................................... 67 register map...................................................................................................71 register bits by address .................................................................................. 72 applications information .........................................................................85 recommended external components........................................................... 85 line output ............................................................................................................. 86 ac-coupled headphone output....................................................................... 86 dc coupled (capless) headphone output ................................................... 87 btl loudspeaker output ................................................................................... 87 combined headset / btl ear speaker............................................................. 87 combined headset / single-ended ear speaker......................................... 88 jack insert detection ........................................................................................ 88 hookswitch detection....................................................................................... 89 typical output configurations ..................................................................... 90 package dimensions ....................................................................................93 important notice ..........................................................................................94 address:................................................................................................................... 94
WM9714L pre-production w pp rev 3.0 june 2006 4 pin configuration ordering information device temperature range package moisture sensitivity level peak soldering temperature WM9714Lgefl/v -25 to +85 o c 48-lead qfn (pb-free) msl3 260 o c WM9714Lgefl/rv -25 to +85 o c 48-lead qfn (pb-free, tape and reel) msl3 260 o c note: reel quantity = 2,200
pre-production WM9714L w pp rev 3.0 june 2006 5 pin description pin name type description 1 dbvdd supply digital i/o buffer supply 2 mclka digital input master clock a input 3 mclkb / gpio6 / (ada / mask) digital in/out master clock b input / gpio6 / (ada output / m ask i nput) 4 dgnd1 supply digital ground (return path for both dcvdd and dbvdd) 5 sdataout digital input serial data output from controller / input to WM9714L 6 bitclk digital output serial interface clock output to controller 7 dgnd2 supply digital ground (return path for both dcvdd and dbvdd) 8 sdatain digital output serial data input to controller / output from WM9714L 9 dcvdd supply digital core supply 10 sync digital input serial interface synchronisation pulse from controller 11 resetb / gpio7 digital in / out reset (asynchronous, active low, resets all registers to their default) / gpio7 12 aux4 / gpio8 / (spdif) analogue in / out auxiliary adc input / gpio8 / (spdif digital audio output) 13 avdd2 supply analogue supply 14 nc analogue input do not connect 15 nc analogue input do not connect 16 nc analogue input do not connect 17 nc analogue input do not connect 18 agnd3 supply analogue ground 19 pcbeep anal ogue input line input to analogue audio mixers, typically used for beeps 20 monoin analogue input mono input (rx) 21 mic1 analogue input microphone preamp a input 1 22 miccm analogue input microphone common mode input 23 linel analogue input left line input 24 liner analogue input right line input 25 avdd supply analogue supply (audio dacs, adcs, pgas, mic amps, mixers) 26 agnd supply analogue ground 27 vref analogue output internal reference voltage (buffered cap2) 28 micbias analogue output bias voltage for microphones (buffered cap2 1.8) 29 mic2a / comp1 / aux1 analogue input microphone preamp a input 2 / comp1 input / auxillary adc input 30 mic2b / comp2 / aux2 analogue input microphone preamp b input / comp2 input / auxillary adc input 31 mono analog output mono output driver (line or headphone) 32 cap2 analogue in / out internal reference voltage (normally avdd/2, if not overdriven) 33 out4 analogue output auxillary output driver (speaker, line or headphone) 34 spkgnd s upply speaker ground (feeds output buffers on pins 33, 35, 36 and 37) 35 spkl analogue output left speaker driver (speaker, line or headphone) 36 spkr analogue output right speaker driver (speaker, line or headphone) 37 out3 analogue output auxillary output driver (speaker, line or headphone) 38 spkvdd s upply speaker supply (feeds output buffers on pins 33, 35, 36 and 37) 39 hpl analogue output headphone left driver (line or headphone) 40 hpgnd supply headphone ground (feeds output buffers on pins 39 and 41) 41 hpr analogue output headphone right driver (line or headphone) 42 agnd2 supply analogue ground, chip substrate 43 hpvdd supply headphone supply (feeds output buffers on pins 39 and 41)
WM9714L pre-production w pp rev 3.0 june 2006 6 pin name type description 44 gpio1 / pcmclk digital in / out gpio pin 1 / pcm interface clock 45 gpio2 / irq digital in / out gpio pin 2 / irq (interrupt request) output 46 gpio3 / pcmfs digital in / out gpio pin 3 / pcm frame signal 47 gpio4 / ada / mask / pcmdac digital in / out gpio pin 4 / ada (adc data available) output or mask input / pcm input (dac) data 48 gpio5 / spdif / pcmadc digital in / out gpio pin 5 / spdif digital audio output / pcm output (adc) data 49 gnd_paddle die paddle (note 1) notes: 1. it is recommended that the gnd_paddle is connected to analogue ground. refer to the "recommended external components" diagram and "package dimensions" section for further information. absolute maximum ratings absolute maximum ratings are stress ratings only. permanent damage to the device may be caused by continuously operating at or beyond these limits. device functional operating limits and guaranteed performance specifications are given under electrical characteristics at the test conditions specified. esd sensitive device. this device is manufactured on a cmos process. it is therefore generically susceptible to damage from excessive static voltages. proper esd precautions must be taken during handling and storage of this device. wolfson tests its package types according to ipc/jedec j-std-020b for moisture sensitivity to determine acceptable storage conditions prior to surface mount assembly. these levels are: msl1 = unlimited floor life at <30 c / 85% relative humidity. not normally stored in moisture barrier bag. msl2 = out of bag storage for 1 year at <30 c / 60% relative humidity. supplied in moisture barrier bag. msl3 = out of bag storage for 168 hours at <30 c / 60% relative humidity. supplied in moisture barrier bag. the moisture sensitivity level for each package type is specified in ordering information. condition min max digital supply voltages (dcvdd, dbvdd) -0.3v +3.63v analogue supply voltages (avdd, avdd2, hpvdd) -0.3v +3.63v speaker supply voltage ( spkvdd) -0.3v +4.2v voltage range digital inputs dgnd -0.3v dbvdd +0.3v voltage range analogue inputs agnd -0.3v avdd +0.3v operating temperature range, t a -25 o c +85 o c recommended operating conditions parameter symbol test conditions min typ max unit digital input/output buffer supply range dbvdd 1.71 3.3 3.6 v digital core supply range dcvdd 1.71 1.8 3.6 v analogue supply range avdd, avdd2, hpvdd 1.8 3.3 3.6 v speaker supply range spkvdd 1.8 3.3 4.2 v digital ground dgnd1, dgnd2 0 v analogue ground agnd, agnd3, hpgnd, spkgnd 0 v difference agnd to dgnd note 1 -0.3 0 +0.3 v note: 1. agnd is normally the same as dgnd1/dgnd2 2. dcvdd <= dbvdd and dcvdd <= avdd 3. dcvdd should be >=2v when using the pll
pre-production WM9714L w pp rev 3.0 june 2006 7 electrical characteristics audio outputs test conditions dbvdd=3.3v, dcvdd = 3.3v, avdd=hpvdd=spkvdd =3.3v, t a = +25 o c, 1khz signal, fs = 48khz, 24-bit audio data unless otherwise stated. parameter symbol test conditions min typ max unit dac to line-out (hpl/r, spkl/r or mono with 10k ? ? ? ? / 50pf load) full-scale output (0dbfs) avdd = 3.3v, pga gains set to 0db 1 v rms signal to noise ratio (a-weighted) snr 85 94 db total harmonic distortion thd -3db output -85 -74 db power supply rejection psrr 100mv, 20hz to 20khz signal on avdd 50 db speaker output (spkl/spkr with 8 ? ? ? ? bridge tied load, inv=1) output power at 1% thd p o thd = 1% 400 mw (rms) abs. max output power p o max 500 mw (rms) total harmonic distortion thd p o = 200mw -66 0.05 db % signal to noise ratio (a-weighted) snr 90 db stereo speaker output (spkl/out4 and spkr/out3 with 8 ? ? ? ? bridge tied load, inv=1) output power at 1% thd p o thd = 1% 400 mw (rms) abs. max output power p o max 500 mw (rms) total harmonic distortion thd p o = 200mw -66 0.05 db % signal to noise ratio (a-weighted) snr 90 db headphone output (hpl/r, out3/4 or spkl/spkr with 16 ? ? ? ? or 32 ? ? ? ? load) output power per channel p o output power is very closely correlated with thd; see below. p o =10mw, r l =16 ? -80 p o =10mw, r l =32 ? -80 p o =20mw, r l =16 ? -78 total harmonic distortion thd p o =20mw, r l =32 ? -79 db signal to noise ratio (a-weighted) snr 90 db note: 1. all thd values are valid for the output power level quoted above C for example, at hpvdd=3.3v and r l =16 ? , thd is C80db when output power is 10mw. higher output power is possible, but will result in deterioration in thd.
WM9714L pre-production w pp rev 3.0 june 2006 8 audio inputs test conditions dbvdd=3.3v, dcvdd = 3.3v, avdd = 3.3v, t a = +25 o c, 1khz signal, fs = 48khz, 24-bit audio data unless otherwise stated. parameter symbol test conditions min typ max unit linel/r, mic1/2a/2b and monoin pins avdd = 3.3v 1.0 avdd = 1.8v 0.545 differential input mode (ms = 01) avdd = 3.3v 0.5 full scale input signal level (0dbfs) v infs differential input mode (ms = 01) avdd = 1.8v 0.273 vrms 0db pga gain 25.6 32 38.4 input resistance r in 12db pga gain 10.4 13 15.6 k ? input capacitance 5 pf line input to adc (linel, liner, monoin) signal to noise ratio (a-weighted) snr 80 87 db total harmonic distortion thd -3dbfs input -86 -80 db power supply rejection psrr 20hz to 20khz 50 db microphone input to adc (mic1/2a/2b pins) signal to noise ratio (a-weighted) snr 20db boost enabled 80 db total harmonic distortion thd 20db boost enabled -80 db auxiliary mono dac (auxdac) test conditions dbvdd=3.3v, dcvdd = 3.3v, avdd = 3.3v, t a = +25 o c, 1khz signal, fs = 8khz, 24-bit audio data unless otherwise stated. parameter symbol test conditions min typ max unit resolution 12 bits full scale output voltage avdd=3.3v 1 vrms signal to noise ratio (a-weighted) snr tbd db total harmonic distortion thd tbd db pcm voice dac (vxdac) test conditions dbvdd=3.3v, dcvdd = 3.3v, avdd = 3.3v, t a = +25 o c, 1khz signal, fs = 8khz, 24-bit audio data unless otherwise stated. parameter symbol test conditions min typ max unit resolution 16 bits sample rates 8 16 ks/s full scale output voltage avdd=3.3v 1 vrms signal to noise ratio (a-weighted) snr 80 db total harmonic distortion thd 74 db
pre-production WM9714L w pp rev 3.0 june 2006 9 auxiliary adc test conditions dbvdd = 3.3v, dcvdd = 3.3v, avdd = 3.3v, t a = +25 o c, unless otherwise stated. parameter symbol test conditions min typ max unit input pins aux4, comp1/aux1, comp2/aux2 input voltage agnd avdd v input leakage current aux pin not selected as aux adc input <10 na adc resolution 12 bits differential non-linearity error dnl 0.25 1 lsb integral non-linearity error inl 2 lsb offset error 4 lsb gain error 6 lsb power supply rejection psrr 50 db channel-to-channel isolation 80 db throughput rate del = 1111 (zero settling time) 48 khz settling time (programmable) mclk = 24.576mhz 0 6 ms comparators test conditions dbvdd = 3.3v, dcvdd = 3.3v, avdd = 3.3v, t a = +25 o c, unless otherwise stated. parameter symbol test conditions min typ max unit comp1/aux1 and comp2/aux2 (pins 29, 30 ? when not used as mic inputs) input voltage agnd avdd v input leakage current pin not selected as aux adc input <10 na comparator input offset (comp1, comp2 only) -50 +50 mv comp2 delay (comp2 only) mclk = 24.576mhz 0 10.9 s reference voltages test conditions dbvdd=3.3v, dcvdd = 3.3v, avdd = 3.3v, t a = +25 o c, 1khz signal, fs = 48khz, 24-bit audio data unless otherwise stated. parameter symbol test conditions min typ max unit audio adcs, dacs, mixers reference input/output cap2 pin 1.63 1.65 1.66 v buffered reference output vref pin 1.64 1.65 1.67 v microphone bias bias voltage v micbias 2.92 2.97 3.00 v bias current source i micbias 3 ma output noise voltage vn 1k to 20khz 15 nv/ hz
WM9714L pre-production w pp rev 3.0 june 2006 10 digital interface characteristics test conditions dbvdd = 3.3v, dcvdd = 3.3v, t a = +25 o c, unless otherwise stated. parameter symbol test conditions min typ max unit digital logic levels (all digital input or output pins) ? cmos levels input high level v ih dbvdd 0.7 v input low level v il dbvdd 0.3 v output high level v oh source current = 2ma dbvdd 0.9 output low level v ol sink current = 2ma dbvdd 0.1 clock frequency master clock (mclka pin) 24.576 mhz ac97 bit clock (bit_clk pin) 12.288 mhz ac97 sync pulse (sync pin) 48 khz note: 1. all audio and non-audio sample rates and other timing scales proportionately with the master clock. 2. for signal timing on the ac-link, please refer to the ac97 specification (revision 2.2) power consumption the power consumption of the WM9714L depends on the following factors: ? supply voltages: reducing the supply voltages also reduces digital supply currents, end therefore results in significant power savings especially in the digital sections of the WM9714L. ? operating mode: significant power savings can be achieved by always disabling parts of the WM9714L that are not used (e.g. audio adc, dac, auxadc). ? sample rates: running at lower sample rates will reduce power consumption significantly. the figures below are for 48khz (unless otherwise specified), but in many scenarios it is not necessary to run at this frequency, e.g. 8khz pcm voice call scenario uses only 11.4mw (see below). mode description avdd supply current v / ma dcvdd supply current v / ma dbvdd supply current v / ma total power (mw) off (lowest possible power) clocks stopped. this is the default configuration after power-up. 3.3 0.01 3.3 0 3.3 0.005 0.05 lps (low power standby) vref maintained using 1mohm string 3.3 0.014 3.3 0 3.3 0.005 0.06 pcm voice call (fs=8khz) 2.8 2.37 2.8 1.7 2.8 0.006 11.4 record from mono microphone 3.3 3.644 3.3 10.973 3.3 2.974 58.05 stereo dac playback (ac link to headphone) 3.3 3.733 3.3 9.720 3.3 2.789 53.60 stereo dac playback (ac link to headphone) pll running with 13mhz input to mclkb 3.3 4.801 3.3 10.504 3.3 2.814 59.79 maximum power - everything on 3.3 13.656 3.3 15.472 3.3 2.938 105.82 table 1 supply current consumption notes: 1. unless otherwise specified, all figures are at ta = +25c, audio sample rate fs = 48khz, with zero signal (quiescent), and voltage references settled. 2. the power dissipated in headphones and speakers is not included in the above table.
pre-production WM9714L w pp rev 3.0 june 2006 11 device description introduction the WM9714L is a largely pin compatible upgrade to wm9712, with a pcm voice codec added. this codec is interfaced via a pcm type audio interface which makes use of gpio pins for connection. it is designed to meet the mixed-signal requirements of portable and wireless smartphone systems. it includes audio recording and playback, battery monitoring, auxiliary adc and gpio functions, all controlled through a single 5-wire ac-link interface. additionally, pcm voice codec functions are supported through provision of an additional voice dac and a pcm audio serial interface. a pll is included to allow unrelated reference clocks to be used for generation of the ac link system clock. typically 13mhz or 2.048mhz references might be used as a reference. software support the basic audio features of the WM9714L are software compatible with standard ac97 device drivers. however, to better support additional functions, wolfson microelectronics supplies custom device drivers for selected cpus and operating systems. please contact your local wolfson sales office for more information. ac?97 compatibility the WM9714L uses an ac97 interface to communicate with a microprocessor or controller. the audio and gpio functions are largely compliant with ac97 revision 2.2. the following differences from the ac97 standard are noted: ? pinout: the function of some pins has been changed to support device specific features. the phone and pc beep pins have been moved to different locations on the device package. ? package: the default package for the WM9714L is a 7 7mm leadless qfn package. ? audio mixing: the WM9714L handles all the audio functions of a smartphone, including audio playback, voice recording, phone calls, phone call recording, ring tones, as well as simultaneous use of these features. the ac97 mixer architecture does not fully support this. the WM9714L therefore uses a modified ac97 mixer architecture with three separate mixers. ? tone control, bass boost and 3d enhancement: these functions are implemented in the digital domain and therefore affect only signals being played through the audio dacs, not all output signals as stipulated in ac97. some other functions are additional to ac97: ? on-chip btl loudspeaker driver for mono or stereo speakers ? on-chip btl driver for ear speaker (phone receiver) ? auxiliary mono dac for ring tones, system alerts etc. ? auxiliary adc inputs ? 2 analogue comparators for battery alarm ? programmable filter characteristics for tone control and 3d enhancement ? pcm interface to additional voice dac and existing audio adcs ? pll to create ac97 system clock from unrelated reference clock input pcm codec the pcm voice codec functions typically required by mobile telephony devices are provided by an extra voice dac on the WM9714L, which is interfaced via a standard pcm type data interface, which is constructed through optional use of 4 of the gpio pins on WM9714L. the audio output data from one or both of the audio adcs can also be output over this pcm interface, allowing a full voice codec function to be implemented. this pcm interface supports sample rates from 8 to 48ks/s using the standard ac97 master clock.
WM9714L pre-production w pp rev 3.0 june 2006 12 audio paths overview figure 1 audio paths overview
pre-production WM9714L w pp rev 3.0 june 2006 13 clock generation WM9714L supports clocking from 2 separate sources, which can be selected via the ac97 interface: ? external clock input mclka ? external clock input mclkb the source clock is divided to appropriate frequencies in order to run the ac97 interface, pcm interface, voice dac and hi-fi dsp by means of a programmable divider block. clock rates may be changed during operation via the ac97 link in order to support alternative modes, for example low power mode when voice data is being transmitted only. a pll is present to add flexibility in selection of input clock frequencies, typical choices being 2.048mhz, 4.096mhz or 13mhz. default mode on power-up assumes a clock will be present on mclka with the pll powered down. this enables data to be clocked via the ac97 link to define the desired clock divider mode and whether pll needs to be activated. note: this clock can be any available frequency. when muxing between mclka and mclkb both clocks must be active for at least two clock cycles after the switching event. clock division modes figure 2 shows the clocking strategy for WM9714L. clocking is controlled by clk_mux, clk_src and s[6:0]. ? clkax2, clkbx2 C clock doublers on inputs mclka and mclkb. ? clk_mux - selects between mclka and mclkb. ? clk_src C selects between external or pll derived clock reference. ? s[3:0] C sets the voice dac clock rate and pcm interface clock when in master mode (division ratio 1 to 16 available). ? s[6:4] - sets the hi-fi clocking rate (division ratio 1 to 8 available). the registers used to set these switches can be accessed from register address 44h (see table 2). if a mode change requires switching from an external clock to a pll generated clock then it is recommended to set the clock division ratios required for the pll clock scheme prior to switching between clocks. this option is accommodated by means of two sets of registers. s pll [6:0] is used to set the divide ratio of the clock when in pll mode and s ext [6:0] is used to divide the clock when it is derived from an external source. if the pll is selected (clk_src = 0), s[6:0] = s pll [6:0]. s pll [6:0] is defined in register 46h (see table 4) and is written to using the page address mode. more details on page address mode for controlling the pll are found on page 20. register 46h also contains a number of separate control bits relating to the plls function. if an external clock is selected (clk_src = 1) s[6:0] = s ext [6:0]. s ext [6:0] is defined in register address 44h. writing to registers 44h and 46h enables pre-programming of the required clock mode before the pll output is selected.
WM9714L pre-production w pp rev 3.0 june 2006 14 figure 2 clocking architecture for WM9714L
pre-production WM9714L w pp rev 3.0 june 2006 15 clock mode and division ratios are controlled by register 44h as shown in table 2. register address bit label default description 14:12 s ext [6:4] 000 (div 1) defines clock division ratio for hi-fi: dsp, adcs and dacs 000: f 001: f/2 ... 111: f/8 11:8 s ext [3:0] 0000 (div 1) defines clock division ratio for pcm interface and voice dac in external clock mode only: 0000: f 0001: f/2 1111: f/16 7 clksrc 1 (ext clk) selects between pll clock and external clock 0: pll clock 1: external clock 5:3 pendiv 000 (div 16) sets auxadc clock divisor 000: f/16 001: f/12 010: f/8 011: f/6 100: f/4 101: f/3 110: f/2 111: f 2 clkbx2 0 (off) clock doubler for mclkb 1 clkax2 0 (off) clock doubler for mclka 44h 0 clkmux 0 (mclka) selects between mclka and mclkb (n.b. on power-up clock must be present on mclka and must be active for 2 clock cycles after switching to mclkb) 0: sysclk=mclka 1: sysclk=mclkb table 2 clock muxing and division control
WM9714L pre-production w pp rev 3.0 june 2006 16 internal clock frequencies the internal clock frequencies are defined as follows (refer to figure 2): ? ac97 clk C nominally 24.576mhz, used to generate ac97 bitclk at 12.288mhz. ? hifi clk C for hifi playback at 48ks/s hifi clk = 24.576mhz. see table 3 for voice only playback. ? voice dac clk C see table 3 for sample rate vs clock frequency. sample rate voice dac clk frequency hifi clk frequency 8ks/s voice and hifi 2.048mhz 24.576mhz 8ks/s voice only (power save) 2.048mhz 4.096mhz 16ks/s voice and hifi 4.096mhz 24.576mhz 16ks/s voice only (power save) 4.096mhz 8.192mhz 32ks/s voice and hifi 8.192mhz 24.576mhz 48ks/s voice and hifi 12.288mhz 24.576mhz table 3 clock division mode table auxadc the clock for the auxadc nominally runs at 768khz and is derived from bitclk. the divisor for the clock generator is set by pendiv. this enables the auxadc clock frequency to be set according to power consumption and conversion rate considerations. pll mode the pll operation is controlled by register 46h (see table 4) and has two modes of operation: ? integer n ? fractional n the pll has been optimized for nominal input clock (pll_in) frequencies in the range 8.192mhz C 19.661mhz (lf=0) and 2.048mhz C 4.9152mhz (lf=1). through use of a clock divider (div by 2 / 4) on the input to the pll frequencies up to 78.6mhz can be accommodated. the input clock divider is enabled by divsel (0=off) and the division ratio is set by divctl (0=div2, 1=div4). figure 3 pll architecture
pre-production WM9714L w pp rev 3.0 june 2006 17 register address bit label default description 15:12 n[3:0] 0000 pll integer division control (must be set between 05h and 0ch for integer n mode) 11 lf 0 = off allows pll operation with low frequency input clocks (< 8.192mhz) 10 sdm 0 = off sigma delta modulator enable. allows fractional n division 9 divsel 0 = off enables input clock to pll to be divided by 2 or 4. use if input clock is above 14.4mhz 8 divctl 0 controls division mode when di vsel is high. 0 = div by 2, 1= div by 4. 6:4 pgaddr 000 pager address bits to access programming of k[21:0] and s pll [6:0] 46h 3:0 pgdata 0000 pager data bits table 4 pll clock control integer n mode the nominal output frequency of the pll (pll_out) is 98.304mhz which is divided by 4 to achieve a nominal system clock of 24.576mhz. the integer division ratio (n) is determined by: f pll_out / f pll_in , and is set by n[3:0] and must be in the range 5 to 12 for integer n operation (0101 = div by 5, 1100 = div by 12). note that setting lf=1 enables a further division by 4 required for input frequencies in the range 2.048mhz C 4.096mhz. integer n mode is selected by setting sdm=0. fractional n mode fractional n mode provides a divide resolution of 1/2 22 and is set by k[21:0] (register 46h, see section). the relationship between the required division x, the fractional division k[21:0] and the integer division n[3:0] is: () n x k ? = 22 2 where 0 < (x C n) < 1 and k is rounded to the nearest whole number. for example, if the pll_in clock is 13mhz and the desired pll_out clock is 98.304mhz then the desired division, x, is 7.5618. so n[3:0] will be 7h and k[21:0] will be 23f488h to produce the desired 98.304mhz clock (see table 5). input clock (pll_in) desired pll output (pll_out) division required (x) fractional division (k) integer division (n) 2.048mhz 98.304mhz 48 0 12x4* 4.096mhz 98.304mhz 24 0 6x4* 12.288mhz 98.304mhz 8 0 8 13mhz 98.304mhz 7.5618 0.5618 7 27mhz (13.5mhz)** 98.304mhz 7.2818 0.2818 7 *divide by 4 enabled in pll feedback path for low frequency inputs. (lf = 1) **divide by 2 enabled at pll input for frequencies > 14.4mhz > 38mhz (divsel = 1, divctl = 0) table 5 pll modes of operation
WM9714L pre-production w pp rev 3.0 june 2006 18 pll register page address mapping the clock division control bits s pll [6:0] and the pll fractional n division bits are accessed through register 46h using a sub-page address system. the 3 bit pager address allows 8 blocks of 4 bit data words to be accessed whilst the register address is set to 46h. this means that when register address 46h is selected a further 7 cycles of programming are required to set all of the page data bits. control bit allocation for these page addresses is described in table 6. page address bit label default description 111 31:28 s pll [6:4] 0h 110 27:24 s pll [3:0] 0h clock division control bus spll[6:0]. clock divider reads this control word if pll is enabled. bits [6:4] and [3:0] have the same functionality as 44h [14:12] and [11:8] respectively 23:22 reserved 0h reserved bits 101 21:20 0h 100 19:16 0h 011 15:12 0h 010 11:8 0h 001 7:4 0h 000 3:0 k[21:0] 0h sigma delta modulator control word for fractional n division. division resolution is 1/22 2 table 6 pager control bit allocation powerdown for the pll and internal clocks is via registers 26h and 3ch (see table 7). register address bit label default description 26h 13 pr5 1 (off) internal clock disable (active high) 3ch 9 pll 1 (off) pll powerdown (active high) n.b. both pr5 and pll must be asserted low before pll is enabled table 7 pll powerdown control digital interfaces the WM9714L has two interfaces, a data and control ac97 interface and a data only pcm interface. the ac97 interface is available through dedicated pins (sdataout, sdatain, sync, bitclk and resetb) and is the sole control interface with access to all data streams on the device except for the voice dac. the pcm interface is available through the gpio pins (pcmclk, pcmfs, pcmdac and pcmadc) and provides access to the voice dac. it can also transmit the data from the stereo adc. this can be useful, for example, to allow both sides of a phone conversation to be recorded by mixing the transmit and receive paths on one of the adc channels and transmitting it over the pcm interface. ac97 interface interface protocol the WM9714L uses an ac97 interface for both data transfer and control. the ac-link has 5 wires: ? sdatain (pin 8) carries data from the WM9714L to the controller ? sdataout (pin 5) carries data from the controller to the WM9714L ? bitclk (pin 6) is a clock, derived from either mclka or mclkb inputs and supplied to the controller. ? sync is a synchronization signal generated by the controller and passed to the WM9714L ? resetb resets the WM9714L to its default state
pre-production WM9714L w pp rev 3.0 june 2006 19 figure 4 ac-link interface (typical case with bitclk generated by the ac97 codec) the sdatain and sdataout signals each carry 13 time-division multiplexed data streams (slots 0 to 12). a complete sequence of slots 0 to 12 is referred to as an ac-link frame, and contains a total of 256 bits. the frame rate is 48khz. this makes it possible to simultaneously transmit and receive multiple data streams (e.g. audio, auxadc, control) at sample rates up to 48khz. detailed information can be found in the ac97 (revision 2.2) specification, which can be obtained at www.intel.com/design/chipsets/audio/ note: sdataout and sync must be held low when resetb is applied. these signals must be held low for the entire duration of the resetb pulse and especially during the low-to-high transition of resetb. if sdataout or sync is high during reset, the WM9714L may enter test modes. information relating to this operation is available in the ac'97 specification or in wolfson applications note wan-0104 available at www.wolfsonmirco.com. pcm interface operation WM9714L can implement a pcm voice codec function using the dedicated vxdac and either one or both of the existing hi-fi adcs. in pcm codec mode, vxdac input and adc output are interfaced via a pcm style port via gpio pins. this interface can support one adc channel, or stereo/dual adc channels if required, (two channels of data are sent per pcm frame as back to back words). in voice only mode, the ac link is used only for control information, not audio data. therefore it will generally be shut down (pr4=1), except when control data must be sent. the pcm interface makes use of 4 of the gpio interface pins, for clock, frame, and data in/out. if the pcm codec function is not enabled then the gpio pins may be used for other functions. interface protocol the WM9714L pcm audio interface is used for the input of data to the voice dac and the output of data from the stereo adc. when enabled, the pcm audio interface uses four gpio pins: ? gpio1/pcmclk: bit clock ? gpio3/pcmfs: frame sync ? gpio4/pcmdac: voice dac data input ? gpio5/pcmadc: stereo adc data output depending on the mode of operation (see pcm interface modes), at least one of these four pins must be set up as an output by writing to register 4ch (see table 57). when not enabled the gpios may be used for other functions on the WM9714L.
WM9714L pre-production w pp rev 3.0 june 2006 20 pcm interface modes the WM9714L pcm audio interface may be configured in one of four modes: ? disabled mode: the WM9714L disables and tri-states all pcm interface pins. any clock input is ignored and adc/dac data is not transferred. ? slave mode: the WM9714L accepts pcmclk and pcmfs as inputs from an external source. ? master mode: the WM9714L generates pcmclk and pcmfs as outputs. ? partial master mode: the WM9714L generates pcmclk as an output, and accepts pcmfs as an external input. pcm audio data formats four different audio data formats are supported: ? dsp mode ? left justified ? right justified ? i 2 s all four of these modes are msb first. they are described below. refer to the electrical characteristic section for timing information. the pcm interface may be configured for mono mode, where only one channel of adc data is output. in this mode the interface should be configured for dsp mode. a short or long frame sync is supported and the msb is available on either the 1st (mode b) or 2nd (mode a) rising edge of vxclk. note that when operating in stereo mode the mono voice dac always uses the left channel data as its input. pcmfs pcmclk pcmadc/ pcmdac n 3 2 1 n-2 n-1 lsb msb 1 pcmclk input word length (wl) 1/fs figure 5 pcm interface mono mode (mode a, fsp=0)
pre-production WM9714L w pp rev 3.0 june 2006 21 pcmfs pcmclk pcmadc/ pcmdac n 3 2 1 n-2 n-1 lsb msb 1 pcmclk input word length (wl) 1/fs figure 6 pcm interface mono mode (mode b, fsp=1) in dsp mode, the left channel msb is available on either the 1st (mode b) or 2nd (mode a) rising edge of pcmclk (selectable by fsp) following a rising edge of pcmfs. right channel data immediately follows left channel data. depending on word length, pcmclk frequency and sample rate, there may be unused pcmclk cycles between the lsb of the right channel data and the next sample. left channel right channel pcmfs pcmclk pcmadc/ pcmdac n 3 2 1 n-2 n-1 lsb msb n 3 2 1 n-2 n-1 1 bclk / vxclk input word length (wl) 1/fs figure 7 dsp mode audio interface (mode a, fsp=0) left channel right channel pcmfs pcmclk pcmadc/ pcmdac n 3 2 1 n-2 n-1 lsb msb n 3 2 1 n-2 n-1 1 bclk / vxclk input word length (wl) 1/fs figure 7 dsp mode audio interface (mode b, fsp=1)
WM9714L pre-production w pp rev 3.0 june 2006 22 in left justified mode, the msb is available on the first rising edge of pcmclk following a pcmfs transition. the other bits up to the lsb are then transmitted in order. depending on word length, pcmclk frequency and sample rate, there may be unused pcmclk cycles before each pcmfs transition. left channel right channel pcmfs pcmclk pcmadc/ pcmdac 1/fs n 3 2 1 n-2 n-1 lsb msb n 3 2 1 n-2 n-1 lsb msb figure 8 left justified audio interface (assuming n-bit word length) in right justified mode, the lsb is available on the last rising edge of pcmclk before a pcmfs transition. all other bits are transmitted before (msb first). depending on word length, pcmclk frequency and sample rate, there may be unused pcmclk cycles after each pcmfs transition. left channel right channel pcmfs pcmclk pcmadc / pcmdac 1/fs n 3 2 1 n-2 n-1 lsb msb n 3 2 1 n-2 n-1 lsb msb figure 9 right justified audio interface (assuming n-bit word length) in i 2 s mode, the msb is available on the second rising edge of pcmclk following a pcmfs transition. the other bits up to the lsb are then transmitted in order. depending on word length, pcmclk frequency and sample rate, there may be unused pcmclk cycles between the lsb of one sample and the msb of the next. left channel right channel pcmfs pcmclk pcmadc/ pcmdac 1/fs n 3 2 1 n-2 n-1 lsb msb n 3 2 1 n-2 n-1 lsb msb 1 bclk 1 bclk figure 10 i 2 s justified audio interface (assuming n-bit word length)
pre-production WM9714L w pp rev 3.0 june 2006 23 control the register bits controlling pcm audio format, word length and operating modes are summarised below. ctrl must be set to override the normal use of the pcm interface pins as gpios, mode must be set to specify master/slave modes. register address bit label default description 15 ctrl 0 sets function and control registers for gpio / pcm interface pins. 0 = gpio pins as gpios 1 = gpio pins configured as pcm interface and controlled by this register 14:13 mode 10 pcm interface mode when ctrl=1 00 = pcm interface disabled [pcmclk tri- stated, pcmfs tri-stated] 01 = pcm interface in slave mode [pcmclk as input, pcmfs as input] 10 = pcm interface in master mode [pcmclk as output, pcmfs as output] 11 = pcm interface in partial master mode [pcmclk as output, pcmfs as input] 11:9 div 010 voice dac clock to pcmclk divider. in master mode pcmclk is derived from voice dac clock. 000 : pcmclk = voice dac clock 001 : pcmclk = voice dac clock / 2 010 : pcmclk = voice dac clock / 4 011 : pcmclk = voice dac clock / 8 100 : pcmclk = voice dac clock / 16 8 vdacos r 1 vxdac oversample rate: 0: 128 x fs 1: 64 x fs 7 cp 0 pcmclk polarity 1 = invert pcmclk polarity 0 = normal pcmclk polarity 6 fsp 0 right, left and i 2 s modes C pcmfs polarity 1 = invert pcmfs polarity 0 = normal pcmfs polarity dsp mode C mode a/b select 0 = msb is available on 2nd pcmclk rising edge after lrc rising edge (mode a) 1 = msb is available on 1st pcmclk rising edge after lrc rising edge (mode b) 36h pcm control 5:4 sel 10 pcm adc channel select 00 = output left and right adc data 01 = swap and output left and right adc data 10 = output left adc data only 11 = output right adc data only
WM9714L pre-production w pp rev 3.0 june 2006 24 register address bit label default description 3:2 wl 00 pcm data word length 11 = 32 bits (see note) 10 = 24 bits 01 = 20 bits 00 = 16 bits 1:0 fmt 11 pcm data format select 11 = dsp mode 10 = i 2 s format 01 = left justified 00 = right justified table 8 pcm codec control note: right justified does not support 32-bit data. audio adcs stereo adc the WM9714L has a stereo sigma-delta adc to digitize audio signals. the adc achieves high quality audio recording at low power consumption. the adc sample rate can be controlled by writing to a control register (see variable rate audio). it is independent of the dac sample rate. to save power, the left and right adcs can be separately switched off using the powerdown bits adcl and adcr (register 3ch, bits 5:4), whereas pr0 disables both adcs (see power management section). if only one adc is running, the same adc data appears on both the left and right ac-link slots. the output from the adc can be sent over either the ac link as usual, or output via the pcm interface which may be configured on the gpio pins. high pass filter the WM9714L audio adc incorporates a digital high pass filter that eliminates any dc bias from the adc output data. the filter is enabled by default. for dc measurements, it can be disabled by writing a 1 to the hpf bit (register 5ch, bit 3). this high pass filter corner frequency can be selected to have different values in WM9714L, to suit applications such as voice where a higher cutoff frequency is required. register address bit label default description 5ch 3 hpf 0 high-pass filter disable 0: filter enabled (for audio) 1: filter disabled (for dc measurements) 5ah 5:4 hpmode 00 hpf corner frequency 00: 7hz @ fs=48khz 01: 82hz @ fs=16khz 10: 82hz @ fs=8khz 11: 170hz @ fs=8khz note : the filter corner frequency is proportional to the sample rate. table 9 controlling the adc highpass filter adc slot mapping by default, the output of the left audio adc appears on slot 3 of the sdatain signal (pin 8), and the right adc data appears on slot 4. however, the adc output data can also be sent to other slots, by setting the ass (adc slot select) control bits as shown below.
pre-production WM9714L w pp rev 3.0 june 2006 25 register address bit label default description 5ch additional functions (2) 1:0 ass 00 adc to slot m apping 00: left = slot 3, right = slot 4 (default) 01: left = slot 7, right = slot 8 10: left = slot 6, right = slot 9 11: left = slot 10, right = slot 11 table 10 adc slot mapping record selector the record selector determines which input signals are routed into the audio adc. the left and right channels can be selected independently. this is useful for recording a phone call: one channel can be used for the rx signal and the other for the tx signal, so that both sides of the conversation are digitized. register address bit label default description 6 recbst 0 20db boost 1: boost adc input signal by 20db 0 :no boost note: recbst gain is in addition to the microphone pre-amps (mpabst and mpbbst bits) and record gain (grl and grr / grl bits). 5:3 recsl 000 left adc signal source 000: mica (pre-pga) 001: micb (pre-pga) 010: linel (pre-pga) 011: monoin (pre-pga) 100: headphone mix (left) 101: speaker mix 110: mono mix 111: reserved (do not use this setting) 14h record routing / mux select 2:0 recsr 000 right adc signal source 000: mica (pre-pga) 001: micb (pre-pga) 010: liner (pre-pga) 011: monoin (pre-pga) 100: headphone mix (right) 101: speaker mix 110: mono mix 111: reserved (do not use this setting) table 11 audio record selector
WM9714L pre-production w pp rev 3.0 june 2006 26 record gain the amplitude of the signal that enters the audio adc is controlled by the record pga (programmable gain amplifier). the pga gain can be programmed either by writing to the record gain register, or by the automatic level control (alc) circuit (see next section). when the alc is enabled, any writes to the record gain register have no effect. two different gain ranges can be implemented: the standard gain range defined in the ac97 standard, or an extended gain range with smaller gain steps. the alc circuit always uses the extended gain range, as this has been found to result in better sound quality. register address bit label default description 15 rmu 1 mute audio adc (both channels) 1: mute (off) 0: no mute (on) 14 grl 0 gain range select (left) 0: standard (0 to 22.5db, 1.5db step size) 1: extended (-17.25 to +30db, 0.75db steps) record volume (left) standard (grl=0) extended (grl=1) 13:8 recvoll 000000 xx0000: 0db xx0001: +1.5db (1.5db steps) xx1111: +22.5db 000000: -17.25db 000001: -16.5db (0.75db steps) 111111: +30db 7 zc 0 zero cross enable 0: record gain changes immediately 1: record gain changes when signal is zero or after time-out 6 grr 0 gain range select (right) similar to grl 12h record gain 5:0 recvolr 000000 record volume (right) similar to recvolr table 12 record gain register the output of the record pga can also be mixed into the phone and/or headphone outputs (see audio mixers). this makes it possible to use the alc function for the microphone signal in a smartphone application. register address bit label default description 15:14 r2h 11 (mute) controls record mux to headphone mixer paths. 00=stereo, 01=left rec mux only, 10=right rec mux only, 11=mute left and right 13:11 r2hvol 010 (0db) controls gain of record mux l/r to headphone mixer paths. 000: +6db 001: +3db ... (3dbsteps) 111: -15db 10:9 r2m 11 (mute) controls record mux to mono mixer path. 00=stereo, 01=left rec mux only, 10=right rec mux only, 11=mute left and right 14h record routing 8 r2mbst 0 (off) enables 20db gain boost for record mux to mono mixer path table 13 record pga routing control
pre-production WM9714L w pp rev 3.0 june 2006 27 automatic level control the WM9714L has an automatic level control that aims to keep a constant recording volume irrespective of the input signal level. this is achieved by continuously adjusting the pga gain so that the signal level at the adc input remains constant. a digital peak detector monitors the adc output and changes the pga gain if necessary. hold time decay time attack time input signal signal after alc pga gain alc target level figure 11 alc operation the alc function is enabled using the alcsel control bits. when enabled, the recording volume can be programmed between C6db and C28.5db (relative to adc full scale) using the alcl register bits. hld, dcy and atk control the hold, decay and attack times, respectively. hold time hold time is the time delay between the peak level detected being below target and the pga gain beginning to ramp up. it can be programmed in power-of-two (2 n ) steps, e.g. 2.67ms, 5.33ms, 10.67ms etc. up to 43.7s. alternatively, the hold time can also be set to zero. the hold time only applies to gain ramp-up, there is no delay before ramping the gain down when the signal level is above target. decay (gain ramp-up) time decay time is the time that it takes for the pga gain to ramp up across 90% of its range (e.g. from C15b up to 27.75db). the time it takes for the recording level to return to its target value therefore depends on both the decay time and on the gain adjustment required. if the gain adjustment is small, it will be shorter than the decay time. the decay time can be programmed in power-of-two (2 n ) steps, from 24ms, 48ms, 96ms, etc. to 24.58s. attack (gain ramp-down) time attack time is the time that it takes for the pga gain to ramp down across 90% of its range (e.g. from 27.75db down to C15b gain). the time it takes for the recording level to return to its target value therefore depends on both the attack time and on the gain adjustment required. if the gain adjustment is small, it will be shorter than the attack time. the attack time can be programmed in power-of-two (2 n ) steps, from 6ms, 12ms, 24ms, etc. to 6.14s. when operating in stereo, the peak detector takes the maximum of left and right channel peak values, and any new gain setting is applied to both left and right pgas, so that the stereo image is preserved. however, the alc function can also be enabled on one channel only. in this case, only one pga is controlled by the alc mechanism, while the other channel runs independently with its pga gain set through the control register.
WM9714L pre-production w pp rev 3.0 june 2006 28 when one adc channel is unused, the peak detector disregards that channel. the alc function can also operate when the two adc outputs are mixed to mono in the digital domain, but not if they are mixed to mono in the analogue domain, before entering the adcs. register address bit label default description 15:14 alcsel 00 (off) alc function select 00 = alc off (pga gain set by register) 01 = right channel only 10 = left channel only 11 = stereo (pga registers unused) 13:11 maxgain 111 (+30db) pga gain limit for alc 111 = +30db 110 = +24db .(6db steps) 001 = -6db 000 = -12db 62h alc / noise gate control 10:9 zctimeout 11 programmable zero cross timeout (delay for 12.288mhz bitclk): 11: 2^17 * tbitclk (10.67 ms) 10: 2^16 * tbitclk (5.33 ms) 01: 2^15 * tbitclk (2.67 ms) 00: 2^14 * tbitclk (1.33 ms) 15:12 alcl 1011 (-12db) alc target C sets signal level at adc input 0000 = -28.5db fs 0001 = -27.0db fs (1.5db steps) 1110 = -7.5db fs 1111 = -6db fs 11:8 hld 0000 (0ms) alc hold time before gain is increased. 0000 = 0ms 0001 = 2.67ms 0010 = 5.33ms (time doubles with every step) 1111 = 43.691s 7:4 dcy 0011 (192ms) alc decay (gain ramp-up) time 0000 = 24ms 0001 = 48ms 0010 = 96ms (time doubles with every step) 1010 or higher = 24.58s 60h alc control 3:0 atk 0010 (24ms) alc attack (gain ramp-down) time 0000 = 6ms 0001 = 12ms 0010 = 24ms (time doubles with every step) 1010 or higher = 6.14s table 14 alc control
pre-production WM9714L w pp rev 3.0 june 2006 29 maximum gain the maxgain register sets the maximum gain value that the pga can be set to whilst under the control of the alc. this has no effect on the pga when alc is not enabled. peak limiter to prevent clipping when a large signal occurs just after a period of quiet, the alc circuit includes a limiter function. if the adc input signal exceeds 87.5% of full scale (C1.16db), the pga gain is ramped down at the maximum attack rate (as when atk = 0000), until the signal level falls below 87.5% of full scale. this function is automatically enabled whenever the alc is enabled. (note: if atk = 0000, then the limiter makes no difference to the operation of the alc. it is designed to prevent clipping when long attack times are used). noise gate when the signal is very quiet and consists mainly of noise, the alc function may cause noise pumping, i.e. loud hissing noise during silence periods. the WM9714L has a noise gate function that prevents noise pumping by comparing the signal level at the input pins (i.e. before the record pga) against a noise gate threshold, ngth. provided that the noise gate function is enabled (ngat = 1), the noise gate cuts in when: signal level at adc [db] < ngth [db] + pga gain [db] + mic boost gain [db] this is equivalent to: signal level at input pin [db] < ngth [db] the pga gain is then held constant (preventing it from ramping up as it normally would when the signal is quiet). if the ngg bit is set, the adc output is also muted when the noise gate cuts in. the table below summarises the noise gate control register. the ngth control bits set the noise gate threshold with respect to the adc full-scale range. the threshold is adjusted in 1.5db steps. levels at the extremes of the range may cause inappropriate operation, so care should be taken with setCup of the function. note that the noise gate only works in conjunction with the alc function, and always operates on the same channel(s) as the alc (left, right, both, or none). register address bit label default description 7 ngat 0 noise gate function enable 1 = enable 0 = disable 5 ngg 0 noise gate type 0 = pga gain held constant 1 = mute adc output 62h alc / noise gate control 4:0 ngth(4:0) 00000 noise gate threshold 00000: -76.5dbfs 00001: -75dbfs 1.5 db steps 11110: -31.5dbfs 11111: -30dbfs table 15 noise gate control
WM9714L pre-production w pp rev 3.0 june 2006 30 audio dacs stereo dac the WM9714L has a stereo sigma-delta dac that achieves high quality audio playback at low power consumption. digital tone control, adaptive bass boost and 3-d enhancement functions operate on the digital audio data before it is passed to the stereo dac. (contrary to the ac97 specification, they have no effect on analogue input signals or signals played through the auxiliary dac. nevertheless, the id2 and id5 bits in the reset register, 00h, are set to 1 to indicate that the WM9714L supports tone control and bass boost.) the dac output has a pga for volume control. the dac sample rate can be controlled by writing to a control register (see variable rate audio). it is independent of the adc sample rate. when not in use the dacs can be separately powered down using the powerdown register bits dacl and dacr (register 3ch, bits [7:6]). stereo dac volume the volume of the dac output signal is controlled by a pga (programmable gain amplifier). each dac can be mixed into the headphone, speaker and mono mixer paths (see audio mixers) controlled by register 0ch. each dac-to-mixer path has an independent mute bit. when all dac-to-mixer paths are muted the dac pga is muted automatically. when not in use the dac pgas can be powered down using the powerdown register bits dacl and dacr (register 3ch, bits [7:6]). register address bit label default description 15 d2h 1 mute dac path to headphone mixer 1: mute, 0: no mute (on) 14 d2s 1 mute dac path to speaker mixer 1: mute, 0: no mute (on) 13 d2m 1 mute dac path to mono mixer 1: mute, 0: no mute (on) 12:8 dacl vol 01000 (0db) left dac volume 00000: +12db (1.5db steps) 11111: -34.5db 0ch dac volume 4:0 dacr vol 01000 (0db) right dac volume similar to daclvol 15 amute 0 read-only bit to indicate auto-muting 1: dac auto-muted 0: dac not muted 5ch additional functions (2) 7 amen 0 dac auto-mute enable 1: automatically mutes analogue output of stereo dac if digital input is zero 0: auto-mute off table 16 stereo dac volume control
pre-production WM9714L w pp rev 3.0 june 2006 31 tone control / bass boost the WM9714L provides separate controls for bass and treble with programmable gains and filter characteristics. this function operates on digital audio data before it is passed to the audio dacs. bass control can take two different forms: ? linear bass control: bass signals are amplified or attenuated by a user programmable gain. this is independent of signal volume, and very high bass gains on loud signals may lead to signal clipping. ? adaptive bass boost: the bass volume is amplified by a variable gain. when the bass volume is low, it is boosted more than when the bass volume is high. this method is recommended because it prevents clipping, and usually sounds more pleasant to the human ear. treble control applies a user programmable gain, without any adaptive boost function. treble, linear bass and 3d enhancement can all produce signals that exceed full-scale. in order to avoid limiting under these conditions, it is recommended to set the dat bit to attenuate the digital input signal by 6db. the gain at the outputs should be increased by 6db to compensate for the attenuation. cut-only tone adjustment (i.e. bass and treble gains 0) and adaptive bass boost cannot produce signals above full-scale and therefore do not require the dat bit to be set. register address bit label default description 15 bb 0 bass mode 0 = linear bass control 1 = adaptive bass boost 12 bc 0 bass cut-off frequency 0 = low (130hz at 48khz sampling) 1 = high (200hz at 48khz sampling) bass intensity code bb=0 bb=1 0000 +9db 15 (max) 0001 +9db 14 0010 +7.5db 13 (1.5db steps) 0111 0db 8 (1.5db steps) 1011-1101 -6db 4-2 1110 -6db 1 (min) 11:8 bass 1111 (off) 1111 bypass (off) 6 dat 0 -6db attenuation 0 = off 1 = on 4 tc 0 treble cut-off frequency 0 = high (8khz at 48khz sampling) 1 = low (4khz at 48khz sampling) 20h dac tone control 3:0 trbl 1111 (disabled) treble intensity 0000 or 0001 = +9db 0010 = +7.5db (1.5db steps) 1011 to 1110 = -6db 1111 = treble control disabled table 17 dac tone control note: 1. all cut-off frequencies change proportionally with the dac sample rate.
WM9714L pre-production w pp rev 3.0 june 2006 32 3d stereo enhancement the 3d stereo enhancement function artificially increases the separation between the left and right channels by amplifying the (l-r) difference signal in the frequency range where the human ear is sensitive to directionality. the programmable 3d depth setting controls the degree of stereo expansion introduced by the function. additionally, the upper and lower limits of the frequency range used for 3d enhancement can be selected using the 3dfilt control bits. register address bit label default description 40h general purpose 13 3de 0 (disabled) 3d enhancement enable 5 3dlc 0 lower cut-off frequency 0 = low (200hz at 48khz sampling) 1 = high (500hz at 48khz sampling) 4 3duc 0 upper cut-off frequency 0 = high (2.2khz at 48khz sampling) 1 = low (1.5khz at 48khz sampling) 1eh dac 3d control 3:0 3ddepth 0000 3d depth 0000: 0% (minimum 3d effect) 0001: 6.67% (6.67% steps) 1110: 93.3% 1111: 100% (maximum) table 18 stereo enhancement control note: 1. all cut-off frequencies change proportionally with the dac sample rate.
pre-production WM9714L w pp rev 3.0 june 2006 33 voice dac vxdac is a 16-bit mono dac intended for playback of rx voice signals input via the pcm interface. performance has been optimised for operating at 8ks/s or 16ks/s. the vxdac will function at other sample rates up to 48ks/s, but this is not recommended. the analogue output of vxdac is routed directly into the output mixers. the signal gain into each mixer can be adjusted at the mixer inputs using control register 18h. when not in use the vxdac can be powered down using the powerdown register bit vxdac (register 3ch, bit 12). register address bit label default description 3ch powerdown (1) 12 vxdac 1 vxdac powerdown bit 1: off, 0: on 15 v2h 1 mute vxdac path to headphone mixer 1: mute, 0: no mute (on) 14:12 v2hvol 010 (0db) vxdac to headphone mixer gain 000: +6db (3db steps) 111: -15db 11 v2s 1 mute vxdac path to speaker mixer 1: mute, 0: no mute (on) 10:8 v2svol 010 (0db) vxdac to speaker mixer gain 000: +6db (3db steps) 111: -15db 7 v2m 1 mute vxdac path to mono mixer 1: mute, 0: no mute (on) 18h vxdac output control 6:4 v2mvol 010 (0db) vxdac to mono mixer gain 000: +6db (3db steps) 111: -15db table 19 vxdac control
WM9714L pre-production w pp rev 3.0 june 2006 34 auxiliary dac auxdac is a simple 12-bit mono dac. it can be used to generate dc signals (with the numeric input written into a control register), or ac signals such as telephone-quality ring tones or system beeps (with the input signal supplied through an ac-link slot). in ac mode (xsle = 1), the input data is binary offset coded; in dc mode (xsle = 0), there is no offset. the analogue output of auxdac is routed directly into the output mixers. the signal gain into each mixer can be adjusted at the mixer inputs using control register 12h. in slot mode (xsle = 1), the auxdac also supports variable sample rates (see variable rate audio section). when not in use the auxillary dac can be powered down using the powerdown register bit auxdac (register 3ch, bit 11). register address bit label default description 3ch powerdown (1) 11 auxdac 0 auxdac powerdown 1: off, 0: on 15 xsle 0 auxdac input selection 0: from auxdacval (for dc signals) 1: from ac-link slot selected by auxdacslt (for ac signals) 14:12 auxdac slt 000 auxdac input selection 000 C slot 5, bits 8-19 (with xsle=1) 001 C slot 6, bits 8-19 (with xsle=1) 010 C slot 7, bits 8-19 (with xsle=1) 011 C slot 8, bits 8-19 (with xsle=1) 100 C slot 9, bits 8-19 (with xsle=1) 101 C slot 10, bits 8-19 (with xsle=1) 110 C slot 11, bits 8-19 (with xsle=1) 111 C reserved (do not use) 64h auxdac input control 11:0 auxdac val 000h auxdac digital input (with xsle=0) 000h: minimum fffh: full-scale 15 a2h 1 mute auxdac path to headphone mixer 1: mute, 0: no mute (on) 14:12 a2hvol 010 (0db) auxdac to headphone mixer gain 000: +6db (3db steps) 111: -15db 11 a2s 1 mute auxdac path to speaker mixer 1: mute, 0: no mute (on) 10:8 a2svol 010 (0db) auxdac to speaker mixer gain 000: +6db (3db steps) 111: -15db 7 a2m 1 mute auxdac path to mono mixer 1: mute, 0: no mute (on) 1ah auxdac output control 6:4 a2mvol 010 (0db) auxdac to mono mixer gain 000: +6db (3db steps) 111: -15db table 20 auxdac control
pre-production WM9714L w pp rev 3.0 june 2006 35 variable rate audio / sample rate conversion by using an ac 97 rev2.2 compliant audio interface, the WM9714L can record and playback at all commonly used audio sample rates, and offer full split-rate support (i.e. the dac, adc and auxdac sample rates are completely independent of each other C any combination is possible). the default sample rate is 48khz. if the vra bit in register 2ah is set, then other sample rates can be selected by writing to registers 2ch, 32h and 2eh. the ac-link continues to run at 48k frames per second irrespective of the sample rate selected. however, if the sample rate is less than 48khz, then some frames do not carry an audio sample. register address bit label default description 2ah extended audio stat/ctrl 0 vra 0 (off) variable rate audio 0: off (dac and adc run at 48khz) 1: on (sample rates determined by registers 2ch and 32h) 2ch audio dac sample rate 15:0 dacsr bb80h (48khz) audio dac sample rate 1f40h: 8khz 2b11h: 11.025khz 2ee0h: 12khz 3e80h: 16khz 5622h: 22.05khz 5dc0h: 24khz 7d00h: 32khz ac44h: 44.1khz bb80h: 48khz any other value defaults to the nearest supported sample rate 32h audio adc sample rate 15:0 adcsr bb80h (48khz) audio adc sample rate similar to dacsr 2eh auxdac sample rate 15:0 auxda csr bb80h (48khz) auxdac sample rate similar to dacsr table 21 audio sample rate control note: changing the adc and / or dac sample rate will only be effective if the adc s and dac s are enabled and powered up before the sample rate is changed. this is done by setting the relevant bits in registers 26h and 3ch, as well as the vra bit in register 2ah. the process is as follows: 1. enable and power up adc s and or dac s in registers 26h and 3ch. 2. enable vra bit in 2ah, bit 0. 3. change the sample rate in the respective register.
WM9714L pre-production w pp rev 3.0 june 2006 36 audio inputs the following sections give an overview of the analogue audio input pins and their function. for more information on recommended external components, please refer to the applications information section. line input the linel and liner inputs are designed to record line level signals, and/or to mix into one of the analogue outputs. both pins are directly connected to the record selector. the record pga adjusts the recording volume, controlled by register 12h or by the alc function. for analogue mixing, the line input signals pass through a separate pga, controlled by register 0ah. the signals can be mixed into the headphone, speaker and mono mixer paths (see audio mixers ). each line-to-mixer path has an independent mute bit. when all line-to-mixer paths are muted the line pga is muted automatically. when the line inputs are not used, the line pga can be switched off to save power (see power management section). linel and liner are biased internally to the reference voltage vref. whenever the inputs are muted or the device placed into standby mode, the inputs remain biased to vref using special anti- thump circuitry to suppress any audible clicks when changing inputs. register address bit label default description 15 l2h 1 mute line path to headphone mixer 1: mute, 0: no mute (on) 14 l2s 1 mute line path to speaker mixer 1: mute, 0: no mute (on) 13 l2m 1 mute line path to mono mixer 1: mute, 0: no mute (on) 12:8 linel vol 01000 (0db) linel input gain 00000: +12db (1.5db steps) 11111: -34.5db 0ah 4:0 liner vol 01000 (0db) liner input gain similar to linelvol table 22 line input control additionally, line inputs can be used as single-ended microphone inputs through the record mux to provide a clickless alc function by bypassing offset introduced through the microphone pre-amps. note that the line inputs to the mixers should all be deselected if this is input configuration is used. microphone input microphone pre-amps there are two microphone pre-amplifiers, mpa and mpb, which can be configured in a variety of ways to accommodate up to 3 selectable differential microphone inputs or 2 differential microphone inputs operating simultaneously for stereo or noise cancellation. the microphone input circuit is shown in figure 12.
pre-production WM9714L w pp rev 3.0 june 2006 37 mic1 mic2a miccm mic2b vmid vmid vmid 22h:11-10 00 = +12db 11 = +30db 22h:9-8 00 = +12db 11 = +30db 22h: 13-12 mica micb figure 12 microphone input circuit the input pins used for the microphones are mic1, miccm, mic2a and mic2b. note that input pins mic2a and mic2b are multi-function inputs and must be configured for use as microphone inputs when required. this is achieved using miccm psel[1:0] in register 22h (see table 23). the input to microphone pre-amp a can be selected from any of the three microphone inputs mic1, mic2a and mic2b using mpasel[1:0]. each pre-amp has i ndependent boost control from +12db to +30db in four steps. this is controlled by mpabst[1:0] and mp bbst[1:0]. when not in use each microphone pre-amp can be powered down using the powerdown register bits mpa and mpb (register 3eh, bits [1:0]). when disabled the inputs are tied to vmid (for mic2a and mic2b this only applies when they are selected as microphone inputs, otherwise they are left floating). register address bit label default description 15:14 miccmpsel 00 mic2a and mic2b pin configuration 00: mic2a and mic2b microphone inputs 01: mic2a only 10: mic2b only 11: neither 13:12 mpasel 00 mpa pre-amp input select 00 : mic1 01 : mic2a 10 : mic2b 11 : unused (do not select) 11:10 mpabst 00 mpa pre-amp gain control 00 : +12db 01 : +18db 10 : +24db 11 : +30db 22h 9:8 mpbbst 00 mpb pre-amp gain control 00 = +12db 01 = +18db 10 = +24db 11 = +30db table 23 microphone pre-amp control
WM9714L pre-production w pp rev 3.0 june 2006 38 single mic operation up to three microphones can be connected in a single-ended configuration. any one of the three mics can be selected as the input to mpa using m pasel[1:0] (register 22h, bits 13:12). only the microphone on mic2b can be selected to mpb. note that mpabst always sets the gain for the selected mpa input microphone. if mic2b is the selected input for mpa it is recommended that mpb is disabled. dual mic operation up to two microphones can be connected in a dual differential configuration. this is suitable for stereo microphone or noise cancellation applications. mic1 is connected between the mic2a and miccm inputs and mic2 is connected between the mic2b and miccm inputs as shown in figure 13. additionally, another microphone can be supported on mic1 selected through the mpa input mux. note that the microphones can be connected in a single-ended configuration. figure 13 dual microphone configuration microphone biasing circuit the micbias output provides a low noise reference voltage suitable for biasing electret type microphones and the associated external resistor biasing network. refer to the applications information section for recommended external components. the micbias voltage can be altered via mbvol in register 22h. when mbvol=0, micbias=0.9*avdd and when mbvol=1, micbias=0.75*avdd. the microphone bias is driven to a dedicated micbias pin 28 and is enabled by mpop1en in register 22h. it can also be configured to drive out on gpio8 pin 12 enabled by mpop2en in register 22h. when not in use the microphone bias can be powered down using the powerdown register bit micbias (register 3eh, bit 14).
pre-production WM9714L w pp rev 3.0 june 2006 39 register address bit label default description 7 mbop2en 0 (off) microphone bias enable to gpio8 (pin 12) 6 mbop1en 1 (on) microphone bias enable to micbias (pin 28) 22h 5 mbvol 0 microphone bias voltage control 0: 0.9 * avdd 1: 0.75 * avdd table 24 microphone bias voltage control the internal micbias circuitry is shown in figure 14. note that the maximum source current capability for micbias is 3ma. the external biasing resistors therefore must be large enough to limit the micbias current to 3ma. figure 14 microphone bias schematic micbias current detect the WM9714L includes a microphone bias current detect circuit with programmable thresholds for the microphone bias current, above which an interrupt will be triggered. there are two separate interrupt bits, micdet to e.g. distinguish between one or two microphones connected to the WM9714L, and micsht to detect a shorted microphone (mic button press). the microphone current detect threshold is set by mcdthr[2:0], for micdet, and mcdscthr[1:0] for micsht. thresholds for each code are shown in table 25 when not in use the microphone bias current detect circuit can be powered down using the powerdown register bit mcd (register 3eh, bit 15). see the gpio and interrupt controller sections for details on the interrupt and status readback for these micbias current detection features. register address bit label default description 4:2 mcdthr 000 mic current detect threshold 000:100ua 001:200ua .100ua steps up to 111:800ua these values are for 3.3v supply and scale with supply voltage (avdd). 22h 1:0 mcdsctr 00 mic current detect short circuit threshold 00: 600ua 01: 1200ua 10: 1800ua 11: 2400ua these values are for 3.3v supply and scale with supply voltage (avdd). table 25 microphone current detect control
WM9714L pre-production w pp rev 3.0 june 2006 40 microphone pgas the microphone pre-amps mpa and mpb drive into two microphone pgas whose gain is controlled by register 0eh. the pga signals can be routed into the headphone mixers and the mono mixer, but not the speaker mixer (to prevent forming a feedback loop) controlled by register 10h. when the pga signals are not selected as an input to any of the mixers the outputs of the pgas are muted automatically. when not in use the microphone pgas can be powered down using the powerdown register bits ma and mb (register 3eh, bits [3:2]). register address bit label default description 12:8 micavol 01000 (0db) mica input gain 00000: +12db (1.5db steps) 11111: -34.5db 0eh mic pga volume 4:0 micbvol 01000 (0db) micb input gain 00000: +12db (1.5db steps) 11111: -34.5db table 26 microphone pga volume control register address bit label default description 7 ma2m 1 mute mica path to mono mixer 1: mute, 0: no mute (on) 6 mb2m 1 mute micb path to mono mixer 1: mute, 0: no mute (on) 5 mic2mbst 0 mic to mono mixer boost 0: 0db, 1: +20db 4:3 mic2h 11 mic to headphone mixers select 00: stereo (mica to hpl, micb to hpr) 01: mica only (mica to hpl and hpr) 10: micb only (micb to hpl and hpr) 11: none (mutes microphone pgas) 10h mic routing 2:0 mic2hvol 010 (0db) mic pga to headphone mixers gain 000: +6db (3db steps) 111: -15db table 27 microphone pga routing control monoin input pin 20 (monoin) is a mono input designed to connect to the receive path of a telephony device.the pin connects directly to the record selector for phone call recording (note: to record both sides of a phone call, one adc channel should record the monoin signal while the other channel records the mic signal). the record pga adjusts the recording volume, and is controlled by register 12h or by the alc function (see record gain and automatic level control sections).
pre-production WM9714L w pp rev 3.0 june 2006 41 register address bit label default description 15:14 r2h 11 (mute) controls record mux to headphone mixer paths. 00=stereo 01=left rec mux only 10=right rec mux only 11=mute left and right 13:11 r2hvol 010 (0db) controls gain of record mux l/r to headphone mixer paths 000: +6db (3db steps) 111: -15db 10:9 r2m 11 (mute) controls record mux to mono mixer path. 00=stereo 01=left rec mux only 10=right rec mux only 11=mute left and right 14h record routing 8 r2mbst 0 (off) enables 20db gain boost for record mux to mono mixer path table 28 record pga routing control to listen to the monoin signal, the signal passes through a separate pga, controlled by register 08h. the signal can be routed into the headphone mixer (for normal phone call operation) and/or the speaker mixer (for speakerphone operation), but not into the mono mixer (to prevent forming a feedback loop). when the signal is not selected as an input to any of the mixers the output of the pga is muted automatically. when not in use the monoin pga can be powered down using the powerdown register bit moin (register 3eh, bit 4). monoin is biased internally to the reference voltage vref. whenever the input is muted or the device placed into standby mode, the input remains biased to vref using special anti-thump circuitry to suppress any audible clicks when changing inputs. register address bit label default description 15 m2h 1 mute monin path to headphone mixer 1: mute, 0: no mute (on) 14 m2s 1 mute monoin path to speaker mixer 1: mute, 0: no mute (on) 08h monoin pga vol / routing 12:8 monoin vol 01000 (0db) monoin input gain 00000: +12db (1.5db steps) 11111: -34.5db table 29 mono pga control pcbeep input pin 19 (pcbeep) is a mono, line level input intended for externally generated signal or warning tones. it is routed directly to the record selector and all three output mixers, without an input amplifier. the signal gain into each mixer can be independently controlled, with a separate mute bit for each signal path. pcbeep is biased internally to the reference volt age vref. when the signal is not selected as an input to any of the mixers the input remains biased to vref using special anti-thump circuitry to suppress any audible clicks when changing inputs.
WM9714L pre-production w pp rev 3.0 june 2006 42 register address bit label default description 15 b2h 1 mute pcbeep path to headphone mixer 1: mute, 0: no mute (on) 14:12 b2hvol 010 (0db) pcbeep to headphone mixer gain 000: +6db (3db steps) 111: -15db 11 b2s 1 mute pcbeep path to s peaker mixer 1: mute, 0: no mute (on) 10:8 b2svol 010 (0db) pcbeep to speaker mixer gain 000: +6db (3db steps) 111: -15db 7 b2m 1 mute pcbeep path to mono mixer 1: mute, 0: no mute (on) 16h pcbeep i nput 6:4 b2mvol 010 (0db) pcbeep to mono mixer gain 000: +6db (3db steps) 111: -15db table 30 pcbeep control differential mono input pcbeep and monoin inputs can be configured to provide a differential mono input. this is achieved by mixing the two inputs together using the headphone mixers or the speaker mixer. note that the gain of the monoin pga must match the gain of the pcbeep mixer i nput to achieve a balanced differential mono input.
pre-production WM9714L w pp rev 3.0 june 2006 43 audio mixers mixer overview the WM9714L has four separate low-power audio mixers to cover all audio functions required by smartphones, pdas and handheld computers. these mixers are used to drive the audio outputs hpl, hpr, mono, spkl, spkr, out3 and out4. there are also two inverters used to provide differential output signals (e.g. for driving btl loads) headphone mixers there are two headphone mixers, headphone mixer left and headphone mixer right (hpmixl and hpmixr). these mixers are the stereo output driver source. they are used to drive the stereo outputs hpl and hpr. they can also be used to drive spkl and spkr outputs and, when used in conjunction with out3 and out4, they can be configured to drive complementary signals through the two output inverters to support bridge-tied load (btl) stereo loudspeaker outputs. the following signals can be mixed into the headphone path: ? monoin (controlled by register 08h, see audio inputs ) ? linel/r (controlled by register 0ah, see audio inputs ) ? the output of the record pga (controlled by register 14h, see audio adc , record gain ) ? the stereo dac signal (controlled by register 0ch, see audio dacs ) ? the mic signal (controlled by register 10h, see audio inputs ) ? pc_beep (controlled by register 16h, see audio inputs ) ? the vxdac signal (controlled by register 18h, see audio dacs ) ? the auxdac signal (controlled by register 1ah, see auxiliary dac ) in a typical smartphone application, the headphone signal is a mix of monoin / vxdac and sidetone (for phone calls) and the stereo dac signal (for music playback). when not in use the headphone mixers can be powered down using the powerdown register bits hplx and hprx (register 3ch, bits [3:2]). speaker mixer the speaker mixer (spkmix) is a mono source. it is typically used to drive a mono loudspeaker in btl configuration. the following signals can be mixed into the speaker path: ? monoin (controlled by register 08h, see audio inputs ) ? linel/r (controlled by register 0ah, see audio inputs ) ? the stereo dac signal (controlled by register 0ch, see audio dacs ) ? pc_beep (controlled by register 16h, see audio inputs ) ? the vxdac signal (controlled by register 18h, see audio dacs ) ? the auxdac signal (controlled by register 1ah, see auxiliary dac ) in a typical smartphone application, the speaker signal is a mix of auxdac (for system alerts or ring tone playback), monoin / vxdac (for speakerphone function), and pc_ beep (for externally generated ring tones). note that when selected the stereo input pairs linel/r and dacl/r are summed and attenuated by -6db so that 0dbfs signals on each channel sum to give a 0dbfs mono signal. when not in use the speaker mixer can be powered down using the powerdown register bit spkx (register 3ch, bit 1).
WM9714L pre-production w pp rev 3.0 june 2006 44 mono mixer the mono mixer drives the mono pin. the following signals can be mixed into mono: ? linel/r (controlled by register 0ah, see audio inputs ) ? the output of the record pga (controlled by register 14h, see audio adc , record gain ) ? the stereo dac signal (controlled by register 0ch, see audio dacs ) ? the mic signal (controlled by register 10h, see audio inputs ) ? pc_beep (controlled by register 16h, see audio inputs ) ? the vxdac signal (controlled by register 18h, see audio dacs ) ? the auxdac signal (controlled by register 12h, see auxiliary dac ) in a typical smartphone application, the mono signal is a mix of the amplified microphone signal (possibly with automatic gain control) and (if enabled) an audio playback signal from the stereo dac or the auxiliary dac. note that when selected the stereo input pairs linel/r and dacl/r are summed and attenuated by -6db so that 0dbfs signals on each channel sum to give a 0dbfs mono signal. when not in use the mono mixer can be powered down using the powerdown register bit mx (register 3ch, bit 0). mixer output inverters there are two general purpose mixer output inverters, inv1 and inv2. each inverter can be selected to drive hpmixl, hpmixr, spkmix, monomix or { ( hpmixl + hpmixr ) / 2 }. the outputs of the inverters can be used to generate complimentary signals (to drive btl configured loads) and to provide greater flexibility in output driver configurations. inv1 can be selected as the source for spkl, mono and out3 and inv2 as the source for spkr and out4. the input source for each inverter is selected using inv1[2:0] and inv2[2:0] in register 1eh (see table 31). when no input is selected the inverter is powered down. register address bit label default description 15:13 inv1 000 (off) inv1 source select 000: z h (off C no source selected) 001: monomix 010: spkmix 011: hpmixl 100: hpmixr 101: hpmixmono 110: unused 111: vmid 1eh 12:10 inv2 000 (off) inv2 source select same as inv1 table 31 mixer inverter source select
pre-production WM9714L w pp rev 3.0 june 2006 45 analogue audio outputs the following sections give an overview of the analogue audio output pins. the WM9714L has three outputs capable of driving loads down to 16 ? (headphone / line drivers) C hpl, hpr and mono - and four outputs capable of driving loads down to 8 ? (loudspeaker / line drivers) C spkl, spkr, out3 and out4. the combination of output drivers, mixers and mixer inverters means that many output configurations can be supported. for examples of typical output and mixer configurations please refer to the typical output configuration section. for more information on recommended external components, please refer to the applications information section. each output is driven by a pga with a gain range of 0db to -46.5db in -1.5db steps. each pga has an input source mux, mute and zero-cross detect circuit (delaying gain changes until a zero-cross is detected, or after time-out). headphone outputs ? hpl and hpr the hpl and hpr outputs (pins 39 and 41) are designed to drive a 16 ? or 32 ? headphone load. they can also be used as line outputs. they can be used in and ac coupled or dc coupled (capless) configuration. the available input sources are hpmixl/r and vmid (see table 32). register address bit label default description 7:6 hpl 00 (vmid) hpl input source select 00: vmid 01: no input (tri-stated if hpl=1 in register 3eh) 10: hpmixl 11: unused 1ch output pga mux select 5:4 hpr 00 (vmid) hpr input source select 00: vmid 01: no input (tri-stated if hpr=1 in register 3eh) 10: hpmixr 11: unused table 32 hpl / hpr pga input source the signal volume on hpl and hpr can be independently adjusted under software control by writing to register 04h. when not in use hpl and hpr can be powered down using the powerdown register bits hpl and hpr (register 3eh, bits [10:9]). to minimise pops and clicks when the pga is powered down / up it is recommended that the vmid input is selected during the power down / up cycle. this ensures the same dc level is maintained on the output pin throughout.
WM9714L pre-production w pp rev 3.0 june 2006 46 register address bit label default description 15 mul 1 (mute) mute hpl 1: mute (off) 0: no mute (on) 14 zcl 0 left zero cross enable 0: change gain immediately 1: change gain only on zero crossings, or after time-out 13:8 hplvol 000000 (0db) hpl volume 000000: 0db (maximum) 000001: -1.5db (1.5db steps) 011111: -46.5db 1xxxxx: -46.5db 7 mur 1 (mute) mute hpr 1: mute (off) 0: no mute (on) 6 zcr 0 right zero cross enable 0: change gain immediately 1: change gain only on zero crossings, or after time-out 04h headphone volume 5:0 hprvol 000000 (0db) hpr volume similar to hplvol table 33 hpl / hpr pga control mono output the mono output (pin 31) is designed to drive a 16 ? headphone load and can also be used as a line output. the available input sources are monomix, inv1 and vmid (see table 34) register address bit label default description 1ch output pga mux select 15:14 mono 00 (vmid) mono input source select 00: vmid 01: no input (tri-stated if mono=1 in register 3eh) 10: monomix 11: inv1 table 34 mono pga input source the signal volume on mono can be independently adjusted under software control by writing to register 08h. when not in use mono can be powered down using the powerdown register bit mono (register 3eh, bit 13). to minimise pops and clicks when the pga is powered down / up it is recommended that the vmid input is selected during the power down / up cycle. this ensures the same dc level is maintained on the output pin throughout.
pre-production WM9714L w pp rev 3.0 june 2006 47 register address bit label default description 7 mu 1 (mute) mute mono 1: mute (off) 0: no mute (on) 6 zc 0 right zero cross enable 0: change gain immediately 1: change gain only on zero crossings, or after time-out 08h mono vol 5:0 monovol 000000 (0db) mono volume 000000: 0db (maximum) 000001: -1.5db (1.5db steps) 011111: -46.5db 1xxxxx: -46.5db table 35 mono pga control speaker outputs ? spkl and spkr the spkl and spkr (pins 35 and 36) are designed to drive a loudspeaker load down to 8 ? and can also be used as line outputs and headphone outputs. they are designed to drive an 8 ? load ac coupled or in a btl (capless) configuration. the available input sources are hpmixl/r, spkmixl/r, inv1/2 and vmid (see table 36). register address bit label default description 13:11 spkl 000 (vmid) spkl i nput source select 000: vmid 001: no input (tri-stated if spkl=1 in register 3eh) 010: hpmixl 011: spkmix 100: inv1 101-111: unused 1ch output pga mux select 10:8 spkr 000 (vmid) spkr i nput source select 000: vmid 001: no input (tri-stated if spkr=1 in register 3eh) 010: hpmixr 011: spkmix 100: inv2 101-111: unused table 36 spkl / spkr pga input source the signal volume on spkl and spkr can be i ndependently adjusted under software control by writing to register 02h. when not in use spkl and spkr can be powered down using the powerdown register bits spkl and spkr (register 3eh, bits [8:7]). to minimise pops and clicks when the pga is powered down / up it is recommended that the vmid input is selected during the power down / up cycle. this ensures the same dc level is maintained on the output pin throughout.
WM9714L pre-production w pp rev 3.0 june 2006 48 register address bit label default description 15 mul 1 (mute) mute spkl 1: mute (off) 0: no mute (on) 14 zcl 0 left zero cross enable 0: change gain immediately 1: change gain only on zero crossings, or after time-out 13:8 spklvol 000000 (0db) spkl volume 000000: 0db (maximum) 000001: -1.5db (1.5db steps) 011111: -46.5db 1xxxxx: -46.5db 7 mur 1 (mute) mute spkr 1: mute (off) 0: no mute (on) 6 zcr 0 right zero cross enable 0: change gain immediately 1: change gain only on zero crossings, or after time-out 02h speaker volume 5:0 spkrvol 000000 (0db) spkr volume similar to spklvol table 37 spkl / spkr pga control note: 1. for btl speaker drive, it is recommended that both pgas have the same gain setting. auxiliary outputs ? out3 and out4 the out3 and out4 outputs (pins 37 and 33) are designed to drive a loudspeaker load down to 8 ? and can also be used as line outputs and headphone outputs. they are designed to drive an 8 ? load ac coupled or in a btl (capless) configuration and can be used as a midrail buffer to drive the headphone outputs in a capless dc configuration. the available input sources are inv1/2 and vmid (see table 38). register address bit label default description 3:2 out3 00 (vmid) out3 input source select 00: vmid 01: no i/p (z h if buffer disabled) 10: inv1 11: unused 1ch output pga mux select 1:0 out4 00 (vmid) out4 input source select 00: vmid 01: no i/p (z h if buffer disabled) 10: inv2 11: unused table 38 out3 / out4 pga input source the signal volume on out3 and out4 can be independently adjusted under software control by writing to register 06h. when not in use out3 and out4 can be powered down using the powerdown register bits out3 and out4 (register 3eh, bits [11:12]). to minimise pops and clicks when the pga is powered down / up it is recommended that the vmid input is selected during the power down / up cycle. this ensures the same dc level is maintained on the output pin throughout.
pre-production WM9714L w pp rev 3.0 june 2006 49 register address bit label default description 15 mu4 1 (mute) mute out4 1: mute (off) 0: no mute (on) 14 zc4 0 out4 zero cross enable 0: change gain immediately 1: change gain only on zero crossings, or after time-out 13:8 out4vol 000000 (0db) out4 volume 000000: 0db (maximum) 000001: -1.5db (1.5db steps) 011111: -46.5db 1xxxxx: -46.5db 7 mu3 1 (mute) mute out3 1: mute (off) 0: no mute (on) 6 zc3 0 out3 zero cross enable 0: change gain immediately 1: change gain only on zero crossings, or after time-out 06h speaker volume 5:0 out3vol 000000 (0db) out3 volume similar to out4vol table 39 out3 / out4 pga control thermal sensor the speaker and headphone outputs can drive very large currents. to protect the WM9714L from becoming too hot, a thermal sensor has been built in. if the chip temperature reaches approximately 150 c, and the ti bit is set, the WM9714L deasserts gpio bit 11 in register 54h, a virtual gpio that can be set up to generate an interrupt to the cpu (see gpio and interrupt control section). register address bit label default description 3ch 13 tshut 1 power down thermal sensor 0: enabled 1: disabled 54h 11 ti 0 thermal sensor (virtual gpio) 1: temperature below 150 c 0: temperature above 150 c see also gpio and interrupt control section. table 40 thermal cutout control
WM9714L pre-production w pp rev 3.0 june 2006 50 jack insertion and auto-switching in a phone application, a btl ear speaker may be connected across mono and hpl, a stereo headphone on hpl and hpr and stereo speakers on spkl, spkr, out3 and out4 (see figure 15). typically, only one of these three output devices is used at any given time: when no headphone is plugged in, the btl ear speaker or stereo speakers are active, otherwise the headphone is used. figure 15 typical output configuration the presence of a headphone can be detected using one of gpio1/6/7/8 (pins 44, 3, 11 & 12) and an external pull-up resistor (see figure 33, page 88 for a circuit diagram). when the jack is inserted, the gpio is pulled low by a switch on the socket. when the jack is removed the gpio is pulled high by a resistor. if the jien bit is set, the WM9714L automatically switches between headphone and any other output configuration, typically ear speaker or stereo speaker that has been set up in the powerdown and output pga mux select registers. note: please refer to wan_0182 for further information on jack detect configuration in addition to the typical configuration explained above, the WM9714L can also support automatic switching between the following three configurations set as btl ear speaker and headphone. register address bit label default description 24h output volume mapping (jack insert) 1:0 earspksel 00 00: default, no ear s peaker configuration selected. 01: mono and hpl driver selected as btl ear speaker. 10: out3 and hpl driver selected as btl ear speaker. 11: out4 and hpl driver selected as btl ear speaker. table 41 ear speaker configuration for example if out4 and hpl is selected as the btl ear speaker, the user should select earspksel = 3h, t hen out4 is tri-stated on jack insert to prevent sound across the ear speaker during headphone operation and hpl volume is set to out4 volume on jack out to ensure correct ear speaker operation. it should be noted that all other outputs except hpl, hpr and selected ear speaker driver are disabled and internally connected to vref on jack insert. this maintains vref at those outputs and helps prevent pops when the outputs are enabled.
pre-production WM9714L w pp rev 3.0 june 2006 51 finally if the user wishes to dc couple the headphone outputs the user needs to select between out3 and out4 as the mid-rail output buffer driver. the selected mid-rail output buffer is enabled on jack insert. on jack out it defaults to whatever configuration has been set up in the powerdown and output pga mux select registers. register address bit label default description 24h output volume mapping (jack insert) 3:2 dcdrvsel 00 00: default, ac c oupled headphone. 01: out4 as mid-rail output buffer. 11: out3 as mid-rail output buffer. table 42 dc coupled headphone configuration in summary: jien not set: outputs work as normal as selected in the powerdown and output pga mux select registers. jien set: on jack insert gpio1/6/7/8 is pulled low, hpl and hpr are enabled, dcdr vsel decides if the headphones are dc or ac coupled and configures out3 or out4 to suit, earspksel decides if mono, out3 or out4 need to be tri-stated to ensure no sound out on the ear-speaker and finally all other outputs are disabled as explained above to prevent pops on re-enabling. on jack out gpio1/6/7/8 is pulled high, the outputs work as normal as selected in the powerdown and output pga mux select registers except that hpl volume is controlled by ear spksel to ensure correct ear speaker operation. register address bit label default description 24h output volume mapping (jack insert) 4 jien 0 (off) jack insert enable C takes output of gpio1 logic 5ah additional functions (1) 7:6 jsel 00 (gpio1) gpio select for jack insert detection: 00: gpio1 01: gpio6 10: gpio7 11: gpio8 table 43 jack insertion / auto-switching (1)
WM9714L pre-production w pp rev 3.0 june 2006 52 jien earspksel dcdrvsel gpio1 mode description hpl state hpl volume hpr state hpr volume mono state out3 state out4 state spkl state spkr state 0 xx xx x jack insert detection disabled. user controlled user controlled user controlled user controlled user controlled user controlled user controlled user controlled user controlled 1 00 00 0 jack insert detection enabled. headphone plugged in. no ear speaker selected. ac coupled headphone selected. enabled hpl volume enabled hpr volume hz hz hz hz hz 1 01 00 0 jack insert detection enabled. headphone plugged in. mono ear speaker selected. ac coupled headphone selected. enabled hpl volume enabled hpr volume tri-stated hz hz hz hz 1 10 00 0 jack insert detection enabled. headphone plugged in. out3 ear speaker selected. ac coupled headphone selected. enabled hpl volume enabled hpr volume hz tri-stated hz hz hz 1 11 00 0 jack insert detection enabled. headphone plugged in. out4 ear speaker selected. ac coupled headphone selected. enabled hpl volume enabled hpr volume hz hz tri-stated hz hz 1 11 01 0 jack insert detection enabled. headphone plugged in. out4 ear speaker selected. out3 dc coupled headphone selected. enabled hpl volume enabled hpr volume hz vmid tri-stated hz hz 1 00 xx 1 jack insert detection enabled. headphone plugged out. no ear speaker selected. user controlled user controlled user controlled user controlled user controlled user controlled user controlled user controlled user controlled 1 11 xx 1 jack insert detection enabled. headphone plugged out. out4 ear speaker selected. user controlled out4 volume user controlled user controlled user controlled user controlled user controlled user controlled user controlled table 44 jack insertion / auto-switching (2)
pre-production WM9714L w pp rev 3.0 june 2006 53 digital audio (spdif) output the WM9714L supports the spdif standard. pins 48 & 12 can be used to output the spdif data. note that pins 48 & 12 can also be used as gpio pins. the ge5 & ge8 bits (register 56h, bit 5 & bit 8) select between gpio and spdif functionality for pins 48 & 12 respectively (see gpio and interrupt control section). register 3ah is a read/write register that controls spdif functionality and manages bit fields propagated as channel status (or sub-frame in the v case). with the exception of v, this register should only be written to when the spdif transmitter is disabled (spdif bit in register 2ah is 0 ). once the desired values have been written to this register, the contents should be read back to ensure that the sample rate in particular is supported, then spdif validity bit spcv in register 2ah should be read to ensure the desired configuration is valid. only then should the spdif enable bit in register 2ah be set. this ensures that control and status information start up correctly at the beginning of spdif transmission. register address bit label default description 10 spcv 0 spdif validity bit (read-only) 5:4 spsa 01 spdif slot assignment (adco = 0) 00: slots 3, 4 01: slots 6, 9 10: slots 7, 8 11: slots 10, 11 2ah extended audio 2 sen 0 spdif output enable 1 = enabled, 0 = disabled 15 v 0 validity bit; 0 indicates frame valid, 1 indicates frame not valid 14 drs 0 indicates that the WM9714L does not support double rate spdif output (read-only) 13:12 spsr 10 indicates that the wm 9714l only supports 48khz sampling on the spdif output (read- only) 11 l 0 generation level; programmed as required by user 10:4 cc 0000000 category code; programmed as required by user 3 pre 0 pre-emphasis; 0 indicates no pre-emphasis, 1 indicates 50/15us pre-emphasis 2 copy 0 copyright; 0 indicates copyright is not asserted, 1 indicates copyright 1 audib 0 non-audio; 0 indicates data is pcm, 1 indicates non-pcm format (e.g. dd or dts) 3ah spdif control register 0 pro 0 professional; 0 indicates consumer, 1 indicates professional 5ch additional function control 4 adco 0 source of spdif data 0: spdif data comes from sdataout (pin 5), slot selected by spsa 1: spdif data comes from audio adc table 45 spdif output control
WM9714L pre-production w pp rev 3.0 june 2006 54 auxiliary adc the WM9714L includes a very low power, 12-bit successive approximation type adc which can be used for battery and auxiliary measurements. three pins that can be used as auxiliary adc inputs: ? mic2a / comp1 / aux1 (pin 29) ? mic2b / comp2 / aux2 (pin 30) ? aux4 (pin 12) pins 29 and 30 are also used as comparator inputs (see battery alarm and analogue comparators ), but auxiliary measurements can still be taken on these pins at any time. additionally, the speaker supply (spkvdd) can be used as an auxillary adc input through an on- chip potential divider giving an input to the auxillary adc of spkvdd/3. this i nput is referred to as the aux3 input. figure 16 auxiliary adc inputs the aux adc is accessed and controlled through the ac-link interface. auxadc power management to save power, the auxadc can be independently disabled when not used. the auxadc is powered-down using padcpd, register 3ch bit 15. the state of the adc is controlled by the following bits. register address bit label default description 3ch 15 padcpd 1 = off aux adc power down 78h 15:14 prp 00 additional enable for auxadc 00 C off 01 C not used 10 C not used 11 C on table 46 auxadc power management initiation of measurements the WM9714L adc interface supports both polling routines and dma (direct memory access) to control the flow of data from the aux adc to the host cpu.
pre-production WM9714L w pp rev 3.0 june 2006 55 in a polling routine, the cpu starts each measurement individually by writing to the poll bit (register 74h, bit 9). this bit automatically resets itself when the measurement is completed. register address bit label default description 9 poll 0 writing 1 initiates a measurement. (when ctc is not set) 74h 8 ctc 0 0: polling mode 1: continuous mode (for dma) 76h 9:8 cr 00 continuous mode rate (del c 1111) 00: 93.75 hz (every 512 ac-link frames) 01: 120 hz (every 400 ac-link frames) 10: 153.75 hz (every 312 ac-link frames) 11: 187.5hz (every 256 ac-link frames) continuous mode fast rate (del = 1111) 00: 8 khz (every six ac-link frames) 01: 12 khz (every four ac-link frames) 10: 24 khz (every other ac-link frame) 11: 48 khz (every ac-link frame) table 47 aux adc control (initiation of measurements) in continuous mode (ctc = 1), the WM9714L autonomously initiates measurements (or sets of measurements) at the rate set by cr, and supplies the measured data to the cpu on one of the unused ac 97 time slots. dma-enabled cpus can write the data directly into a fifo without any intervention by the cpu core. this reduces cpu loading and speeds up the execution of user programs in handheld systems. note that the measurement frequency in continuous mode is also affected by the del bits. the faster rates achieved when del = 1111 may be useful when the adc is used for multiple measurements. measurement types the adcsel control bits determine which type of measurement is performed (see below). register address bit label default description 9 poll 0 writing 1 initiates a measurement. (when ctc is not set) 8 ctc 0 0: polling mode 1: continuous mode (for dma) 7 adcsel_aux4 0 enable comp1/aux4 measurement (pin32). nb: only one of bits[7:4] should be set. 6 adcsel_aux3 0 enable comp1/aux3 measurement (pin31) . nb: only one of bits[7:4] should be set. 5 adcsel_aux2 0 enable comp1/aux2 measurement (pin30) . nb: only one of bits[7:4] should be set. 74h 4 adcsel_aux1 0 enable comp1/aux1 measurement (pin29) . nb: only one of bits[7:4] should be set. table 48 aux adc control (measurement types) the WM9714L performs a single measurement C either in polling mode or continuously, as indicated by the ctc bit. the type of measurement is specified by the adcsel[7:4] bits. only one of the adcsel[7:4] bits should be set.
WM9714L pre-production w pp rev 3.0 june 2006 56 conversion rate the auxadc conversion rate is specified by the cr bits (reg 76h). cr may be set to 93.75hz (every 512 ac-link frames), 120hz (every 400 ac-link frames), 153.75hz (every 312 ac-link frames) or 187.5hz (every 256 ac-link frames). if only one adrsel[7:1] bit is set then each individual conversion occurs at the rate specified by cr. if multiple adrsel[7:1] bits are set then the complete set of conversions requested is completed at the rate specified by cr. data readback auxadc measured data is stored in register 7ah, and can be retrieved by reading the register in the usual manner (see ac-link interface section). additionally, the data can also be passed to the controller on one of the ac-link time slots not used for audio functions. the output data word of the aux adc interface consists of three parts: ? 1 unused bit (ignore). ? output data from the aux adc (12 bits) ? adcsrc: 3 additional bits that indicate the source of the adc data. if the data is being read back using the polling method, there are several ways to determine when a measurement has finished: ? reading back the poll bit. if it has been reset to 0 , then the measurement has finished. ? monitoring the ada signal, see gpio and interrupt section. ada goes high after every single conversion. ? reading back 7ah until the new data appears register address bit label default description 14:12 adcsrc 000 aux adc source 000: no measurement 001: not used 010: not used 011: not used 100: comp1/aux1 measurement (pin 29) 101: comp2/aux2 measurement (pin 30) 110: bmon/aux3 measurement (pin 31) 111: not used 7ah or ac-link slot selected by slt 11:0 adcd 000h aux adc data (read-only) bit 11 = msb bit 0 = lsb 78h 9 wait 0 0: no effect (new adc data overwrites unread data in register 7ah) 1: new data is held back, and measurements delayed, until register 7ah is read) table 49 aux adc data to avoid losing data that has not yet been read, the WM9714L can delay overwriting register 7ah with new conversions until the old data has been read. this function is enabled using the wait bit. if the slen bit is set to 1 , then the adc data appears on the ac-link slot selected by the slt control
pre-production WM9714L w pp rev 3.0 june 2006 57 bits, as shown below. the slot 0 tag bit corresponding to the selected time slot is asserted whenever there is new data on that slot. register address bit label default description 3 slen 0 slot readback enable 0: disabled (readback through register only) 1: enable (readback slot selected by slt) 76h 2:0 slt 110 ac 97 slot selection for aux adc data 000: slot 5 001: slot 6 101: slot 10 110: slot 11 111: reserved table 50 returning aux adc data through an ac-link time slot mask input control sources of glitch noise, such as the signals driving an lcd display, may feed through to the aux adc inputs and affect measurement accuracy. in order to minimise this effect, a signal may be applied to m ask (pin 47 / pin 3) to delay or synchronise the sampling of any i nput to the adc. the effect of the mask signal depends on the the msk bits of register 78h (bits [7:6]), as described below. register address bit label default description 78h 7:6 msk 00 mask input control (see ) table 51 mask input control msk[1-0] effect of signal on mask pin 00 mask has no effect on conversions gpio input disabled (default) 01 static; hi on mask pin stops conversions, lo has no effect. 10 edge triggered; rising or falling edge on mask pin delays conversions by an amount set in the del[3-0] register. conversions are asynchronous to the mask si gnal. 11 synchronous mode; conversions wait until rising or falling edge on m ask initiates cycle; screen starts to be driven when the edge arrives, the conversion sample being taken a period set by del[3-0] after the edge. table 52 controlling the mask feature note that pin 47 / pin 3 can also be used as a gpio(see gpio and interrupt control section), or to output the ada signal (see below). the ada signal whenever data becomes available from the aux adc, the internal ada (adc data available) signal goes high and remains high until the data has been read from register 7ah (if slen = 0) or until it has been sent out on an ac-link slot (if slen = 1). ada goes high after every aux adc conversion (in normal mode, coo=0) ada can be used to generate an interrupt, if the aw bit (register 52h, bit 12) is set (see gpio and interrupt control section) it is also possible to output the ada signal on pin 47 / pin 3, if this pin is not used as a gpio. the ge4/6 bit must be set to 0 to achieve this (see gpio and interrupt control section). alternatively, ada can be read from bit 12 in register 54h.
WM9714L pre-production w pp rev 3.0 june 2006 58 additional features battery alarm and analogue comparators the battery alarm function differs from battery measurement in that it does not actually measure the battery voltage. battery alarm only indicates ok , low or dead . the advantage of the battery alarm function is that it does not require a clock and can therefore be used in low-power sleep or standby modes. figure 17 battery alarm example schematic the typical schematic for a dual threshold battery alarm is shown above. this alarm has two thresholds, dead battery (comp1) and low battery (comp2). r1, r2 and r3 set the threshold voltages. their values can be up to about 1m ? in order to keep the battery current [i alarm = v batt / (r1+r2+r3)] to a minimum (higher resistor values may affect the accuracy of the system as leakage currents into the input pins become significant). dead battery alarm: comp1 triggers when v batt < vref (r1+r2+r3) / (r2+r3) a dead battery alarm is the highest priority of interrupt in the system. it should immediately save all unsaved data and shut down the system. the gp15, gs15 and gw15 bits must be set to generate this interrupt. low battery alarm: comp2 triggers when v batt < vref (r1+r2+r3) / r3 a low battery alarm has a lower priority than a dead battery alarm. since the threshold voltage is higher than for a dead battery alarm, there is enough power left in the battery to give the user a warning and/or shut down gracefully . when v batt gets close to the low battery threshold, spurious alarms are filtered out by the comp2 delay function. the purpose of the capacitor c is to remove from the comparator inputs any high frequency noise or glitches that may be present on the battery (for example, noise generated by a charge pump). it forms a low pass filter with r1, r2 and r3. low pass cutoff f c [hz] = 1/ (2 c (r1 || (r2+r3))) provided that the cutoff frequency is several orders of magnitude lower than the noise frequency f n , this simple circuit can achieve excellent noise rejection. noise rejection [db] = 20 log (f n / f c ) the circuit shown above also allows for measuring the battery voltage v batt . this is achieved simply by setting the auxadc input to be either comp1 (adcsel = 100) or comp2 (adcsel = 101) (see also auxiliary adc inputs). the WM9714L has two on-chip comparators that can be used to implement a battery alarm function, or other functions such as a window comparator. each comparator has one of its inputs tied to comp1 (pin 29) or comp2 (pin 30), and the other tied to a voltage reference. the voltage reference can be either internally generated (vref = avdd/2) or externally connected on aux4 (pin 12).
pre-production WM9714L w pp rev 3.0 june 2006 59 the comparator output signals are passed to the gpio logic block (see gpio and interrupt control section), where they can be used to send an interrupt to the cpu via the ac-link or via the irq pin, and / or to wake up the WM9714L from sleep mode. comp1/aux1 (pin 29) corresponds to gpio bit 15 and comp2/aux2 (pin30) to bit 14. register address bit label default description 15 cp1 1 comp1 polarity (see also gpio and interrupt control ) 0: alarm when comp1 voltage is below vref 1: alarm when comp1 voltage is above vref 4eh 14 cp2 1 comp2 polarity (see also gpio and interrupt control ) 0: alarm when comp2 voltage is below vref 1: alarm when comp2 voltage is above vref 5ah 15:13 comp2 del 000 low battery alarm delay 000: no delay 001: 0.17s (2 13 = 8192 ac-link frames) 010: 0.34s (2 14 = 16384 ac-link frames) 011: 0.68s (2 15 = 32768 ac-link frames) 100: 1.4s (2 16 = 65536 ac-link frames) 101: 2.7s (2 17 = 131072 ac-link frames) 110: 5.5s (2 18 = 262144 ac-link frames) 111: 10.9s (2 19 = 524288 ac-link frames) table 53 comparator control register address bit label default description comparator 1 reference voltage 0 vref = avdd/2 14 c1ref 0 1 wiper/aux4 (pin 12) comparator 1 signal source 00 avdd/2 when c1ref= 1 . otherwise comparator 1 is powered down 01 comp1/aux1 (pin 29) 10 comp2/aux2 (pin 30) 13:12 c1src 00 11 reserved comparator 2 reference voltage 0 vref = avdd/2 11 c2ref 0 1 wiper/aux4 (pin 12) comparator 2 signal source 00 avdd/2 when c2ref= 1 . otherwise comparator 2 is powered down 01 comp1/aux1 (pin 29) 10 comp2/aux2 (pin 30) 5ch additional analogue functions 10:9 c2src 00 11 reserved table 54 comparator reference and source control
WM9714L pre-production w pp rev 3.0 june 2006 60 comp2 delay function comp2 has an optional delay function for use when the input signal is noisy. when comp2 triggers and the delay is enabled (i.e. comp2del is non-zero), then gpio bit 14 does not change state immediately, and no interrupt is generated. instead, the WM9714L starts a delay timer and checks comp2 again after the delay time has passed. if comp2 is still active, then the gpio bit is set and an interrupt may be generated (depending on the state of the gw14 bit). if comp2 is no longer active, the gpio bit is not set, i.e. all register bits are as if comp2 had never triggered. comp2 triggers start timer comp2? wait time=comp2del shut down timer inactive active set gi14 end end [false alarm] comp2 del? non-zero c2w? 0 end 1 000 figure 18 comp2 delay flow chart
pre-production WM9714L w pp rev 3.0 june 2006 61 gpio and interrupt control the WM9714L has eight gpio pins that operate as defined in the ac 97 revision 2.2 specification. each gpio pin can be set up as an input or as an output, and has corresponding bits in register 54h and in slot 12. the state of a gpio output is determined by sending data through slot 12 of outgoing frames (sdataout). data can be returned from a gpio input by reading the register bit, or examining slot 12 of incoming frames (sdatain). gpio inputs can be made sticky, and can be programmed to generate an interrupt, transmitted either through the ac-link or through a dedicated, level-mode interrupt pin (gpio2/irq, pin 45). in addition, the gpio pins 1, 3, 4 and 5 can be used for the pcm interface by setting bit 15 of register 36h (see pcm codec section). setting this bit disables any gpio functions selected on these pins. register address bit label default description 36h pcm codec control 15 ctrl 0 enables pcm interface on gpio pins 1, 3, 4 and 5. 0: normal gpio functions 1: pcm interface enabled note: for pcm interface, one or more of these pins (depending on master/slave/partial master mode) must be set up as an output by writing to register 4ch (see table 57) 56h gpio pin sharing 8:2 ge# 1 (gpio) toggle gpio pin function: 0: secondary function enabled 1: gpio enabled table 55 gpio additional function control gpio pins 2 to 8 are multi-purpose pins that can also be used for other (non-gpio / -pcm) purposes, e.g. as a spdif output. this is controlled by register 56h (see table 58) note that gpio6/7/8 each have an additional function independent of the gpio / auxillary functions discussed above. if these pins are to be used as gpio then the independent function needs to be disabled using its own control registers, e.g. to use pin 11 as a gpio then the resetb function needs to be disabled (rstdis, register 5ah, bit 8). independently of the gpio pins, the WM9714L also has seven virtual gpios. these are signals from inside the WM9714L, which are treated as if they were gpio input signals. from a software perspective, virtual gpios are the same as gpio pins, but they cannot be set up as outputs, and are not tied to an actual pin. this allows for simple, uniform processing of different types of signals that may generate interrupts (e.g. battery warnings, jack insertion, high-temperature warning, or gpio signals).
WM9714L pre-production w pp rev 3.0 june 2006 62 figure 19 gpio logic gpio bit slot 12 bit type pin no. description 1 5 gpio pin 44 gpio1 2 6 gpio pin 45 gpio2 / irq enabled only when pin not used as irq 3 7 gpio pin 46 gpio3 4 8 gpio pin 47 gpio4 / ada / mask enabled only when pin not used as ada 5 9 gpio pin 48 gpio5 / spdif_out enabled only when pin not used as spdif_out 6 10 gpio pin 3 gpio6 / ada / mask enabled only when pin not used as ada 7 11 gpio pin 11 gpio7 8 12 gpio pin 12 gpio8 / spdif_out enabled only when pin not used as spdif_out 9 13 virtual gpio - [micdet] internal microphone bias current detect, generates an interrupt above a threshold (see micbias current detect) 10 14 virtual gpio - [micsht] internal shorted microphone detect, generates an interrupt above a threshold (see micbias current detect) 11 15 virtual gpio - [thermal cutout] internal thermal cutout signal, indicates when internal temperature reaches approximately 150 c (see thermal sensor ) 12 16 virtual gpio - [ada] internal ada (adc data available) signal enabled only when auxadc is active 14 18 virtual gpio - [comp2] internal comp2 output (low battery alarm) enabled only when comp2 is on 15 19 virtual gpio - [comp1] internal comp1 output (dead battery alarm) enabled only when comp1 is on table 56 gpio bits and pins note: gpio7 (pin 11) has an independent r esetb function. this must be disabled using rstdis (register 5ah, bit 8) before using pin 11 as a gpio.
pre-production WM9714L w pp rev 3.0 june 2006 63 the properties of the gpios are controlled through registers 4ch to 52h, as shown below. register address bit label default description 4ch n gcn 1 gpio pin configuration 0: output 1: input gc9-15 are always 1 gpio pin polarity / type input (gcn=1) output (gcn=0) 4eh n gpn 1 0: active low 1: active high [gin = pin level xnor gpn] 0: active high 1: active low 50h n gsn 0 gpio pin sticky 1: sticky 0: not sticky 52h n gwn 0 gpio pin wake-up 1: wake up (generate interrupts from this pin) 0: no wake-up (no interrupts generated) 54h n gin n/a gpio pin status read: returns status of each gpio pin write: writing 0 clears sticky bit table 57 gpio control the following procedure is recommended for handling interrupts: when the controller receives an interrupt, check register 54h. for each gpio bit in descending order of priority, check if the bit is 1 . if yes, execute corresponding interrupt routine, then write 0 to corresponding bit in 54h. if no, continue to next lower priority gpio. after all gpios have been checked, check if interrupt still present or no. if yes, repeat procedure. if no, then jump back to process that ran before the interrupt. if the system cpu cannot execute such an interrupt routine, it may be preferable to switch internal signals directly onto the gpio pins. however, in this case the interrupt signals cannot be made sticky, and more gpio pins are tied up both on the WM9714L and on the cpu.
WM9714L pre-production w pp rev 3.0 june 2006 64 register address bit label default description 2 ge2 1 gpio2 / irq output select 0: pin 45 disconnected from gpio logic set 4ch, bit 2 to 0 to output irq signal 1: pin 45 connected to gpio logic (irq disabled) 4 ge4 1 gpio4 / ada / mask output select 0: pin 47 disconnected from gpio logic set 4ch, bit 4 to 0 to output ada signal set 4ch, bit 4 to 1 to input m ask si gnal 1: pin 47 connected to gpio logic 5 ge5 1 gpio5 / spdif output select 0: pin 48 = spdif (disconnected from gpio logic) set 4ch, bit 5 to 0 to output spdif signal 1: pin 48 connected to gpio logic (spdif disabled) 6 ge6 1 gpio6 / ada / mask output select 0: pin 3 disconnected from gpio logic set 4ch, bit 6 to 0 to output ada signal set 4ch, bit 6 to 1 to input m ask si gnal 1: pin 3 connected to gpio logic 56h gpio pins function select 8 ge8 1 gpio8 / spdif output select 0: pin 12 = spdif (disconnected from gpio logic) set 4ch, bit 8 to 0 to output spdif signal 1: pin 12 connected to gpio logic (spdif disabled) table 58 using gpio pins for non-gpio functions
pre-production WM9714L w pp rev 3.0 june 2006 65 power management introduction the WM9714L includes the standard power down control register defined by the ac 97 specification (register 26h). additionally, it also allows more specific control over the individual blocks of the device through register powerdown registers 3ch and 3eh. each particular circuit block is active when both the relevant bit in register 26h and the relevant bit in the powerdown registers 3ch and 3eh are set to 0 . note that the default power-up condition is all off. ac97 control register register address bit label default description 14 pr6 1 (off) disables all output pgas 13 pr5 1 (off) disables internal clock 12 pr4 1 (off) disables ac-link interface (external clock off) 11 pr3 1 (off) disables vref, input pgas, dacs, adcs, mixers and outputs 10 pr2 1 (off) disables input pgas and mixers 9 pr1 1 (off) disables stereo dac 8 pr0 1 (off) disables stereo adcs and record mux pga 3 ref 0 read-only bit, indicates vref is ready (inverse of pr3) 2 anl 0 read-only bit, indicates analogue mixers are ready (inverse of pr2) 1 dac 0 read-only bit, indicates stereo dac is ready (inverse of pr1) 26h powerdown/ status register 0 adc 0 read-only bit, indicates stereo adc is ready (inverse of pr0) table 59 powerdown and status register (conforms to ac?97 rev 2.2) extended powerdown registers register address bit label default description 15 padcpd 1 (off) disables auxadc 14 vmid1m 1 (off) disables 1meg vmid resistor string 13 tshut 1 (off) disables thermal shutdown 12 vxdac 1 (off) disables vxdac 11 auxdac 1 (off) disables auxdac 10 vref 1 (off) disables master bias reference generator 9 pll 1 (off) disables pll 7 dacl 1 (off) disables left dac (see note 1) 6 dacr 1 (off) disables right dac (see note 1) 5 adcl 1 (off) disables left adc 4 adcr 1 (off) disables right adc 3 hplx 1 (off) disables left headphone mixer 2 hprx 1 (off) disables right headphone mixer 1 spkx 1 (off) disables s peaker mixer 3ch powerdown (1) 0 mx 1 (off) disables mono mixer note: when analogue inputs or outputs are disabled, they are internally connected to vref through a large resistor (vref=avdd/2 except when vref and vmid1m are both off). this maintains the potential at that node and helps to eliminate pops when the pins are re-enabled. table 60 extended power down register (1) (additional to ac?97 rev 2.2) note: 1. when disabling a pga, always ensure that it is muted first.
WM9714L pre-production w pp rev 3.0 june 2006 66 table 61 extended power down register (2) (additional to ac?97 rev 2.2) note: 1. when disabling a pga, always ensure that it is muted first. additional power management mixer output inverters: see mixer output inverters section. inverters are off by default. sleep mode whenever the pr4 bit (reg. 26h) is set, the ac-link interface is disabled, and the WM9714L is in sleep mode. there is in fact a very large number of different sleep modes, depending on the other control bits. for example, the low-power standby mode described below is a sleep mode. it is desirable to use sleep modes whenever possible, as this will save power. the following functions do not require a clock and can therefore operate in sleep mode: ? analogue-to-analogue audio (dacs and adcs unused), e.g. phone call mode ? gpio and interrupts ? battery alarm / analogue comparators the WM9714L can awake from sleep mode as a result of ? a warm reset on the ac-link (according to the ac 97 specification) ? a signal on a gpio pin (if the pin is configured as an input, with wake-up enabled C see gpio and interrupt control section) ? a virtual gpio event such as battery alarm, etc. (see gpio and interrupt control section) register address bit label default description 15 mcd 1 (off) disables microphone current detect 14 micbia s 1 (off) disables microphone bias 13 mono 1 (off) disables mono output pga (see note 1) 12 out4 1 (off) disables out4 output pga ( ) 11 out3 1 (off) disables out3 output pga ( ) 10 hpl 1 (off) disables hpl output pga ( ) 9 hpr 1 (off) disables hpr output pga ( ) 8 spkl 1 (off) disables spkl output pga ( ) 7 spkr 1 (off) disables spkr output pga ( ) 6 ll 1 (off) disables linel pga ( ) 5 lr 1 (off) disables liner pga ( ) 4 moin 1 (off) disables monoin pga ( ) 3 ma 1 (off) disables mic pga ma ( ) 2 mb 1 (off) disables mic pga mb ( ) 1 mpa 1 (off) disables mic pre-amp mpa 3eh powerdown (2) 0 mpb 1 (off) disables mic pre-amp mpb note: when analogue inputs or outputs are disabled, they are internally connected to vref through a large resistor (vref=avdd/2 except when vref and vmid1m are both off). this maintains the potential at that node and helps to eliminate pops when the pins are re-enabled.
pre-production WM9714L w pp rev 3.0 june 2006 67 low power standby mode if all the bits in registers 26h, 3ch and 3eh are set except vmid1m (register 3ch, bit 14), then the WM9714L is in low-power standby mode and consumes very little current. a 1m ? resistor string remains connected across avdd to generate vref. this is necessary if the on-chip analogue comparators are used (see battery alarm and battery measurement section), and helps shorten the delay between wake-up and playback readiness. if vref is not required, the 1m ? resistor string can be disabled by setting the vmid1m bit, reducing current consumption further. saving power at low supply voltages the analogue supplies to the WM9714L can run from 1.8v to 3.6v. by default, all analogue circuitry on the ic is optimized to run at 3.3v. this set-up is also good for all other supply voltages down to 1.8v. however, at lower voltages, it is possible to save power by reducing the internal bias currents used in the analogue circuitry. this is controlled as shown below. register address bit label default description 5ch 6:5 vbias 00 analogue bias optimization 11 : lowest bias current, optimized for 1.8v 10 : low bias current, optimized for 2.5v 01, 00 : default bias current, optimized for 3.3v table 62 analogue bias selection power on reset (por) the WM9714L has an internal power on reset (porb) which ensures that a reset is applied to all registers until a supply threshold has been exceeded. the por circuitry monitors the voltage for both avdd and dcvdd and will release the internal reset signal once these supplies are both nominally greater than 1.36v. the internal reset signal is an and of the porb and resetb input signal. it is recommended that for operation of the WM9714L, all device power rails should be stable before configuring the device for operation. ac97 interface timing test characteristics: dbvdd = 3.3v, dcvdd = 3.3v, dgnd1 = dgnd2 = 0v, t a = -25 c to +85 c, unless otherwise stated. clock specifications bitclk sync t clk_high t clk_low t clk_period t sync_high t sync_low t sync_period figure 20 clock specifications (50pf external load)
WM9714L pre-production w pp rev 3.0 june 2006 68 parameter symbol min typ max unit bitclk frequency 12.288 mhz bitclk period t clk_period 81.4 ns bitclk output jitter 750 ps bitclk high pulse width (note 1) t clk_high 36 40.7 45 ns bitclk low pulse width (note 1) t clk_low 36 40.7 45 ns sync frequency 48 khz sync period t sync_period 20.8 s sync high pulse width t sync_high 1.3 s sync low pulse width t sync_low 19.5 s note: 1. worst case duty cycle restricted to 45/55 data setup and hold figure 21 data setup and hold (50pf external load) note: setup and hold times for sdatain are with respect to the ac 97 controller, not the WM9714L. parameter symbol min typ max unit setup to falling edge of bitclk t setup 10 ns hold from falling edge of bitclk t hold 10 ns output valid delay from rising edge of bitclk t co 15 ns
pre-production WM9714L w pp rev 3.0 june 2006 69 signal rise and fall times bitclk sync sdatain sdataout t rise clk t fall clk t rise sync t fall sync t rise din t fall din t rise dout t fall dout figure 22 signal rise and fall times (50pf external load) parameter symbol min typ max unit bitclk rise time trise clk 2 6 ns bitclk fall time tfall clk 2 6 ns sync rise time trise sync 2 6 ns sync fall time tfall sync 2 6 ns sdatain rise time trise din 2 6 ns sdatain fall time tfall din 2 6 ns sdataout rise time trise dout 2 6 ns sdataout fall time tfall dout 2 6 ns ac-link powerdown sync bitclk sdataout write to 0x20 data pr4 don't care sdatain slot 1 slot 2 t s2_pdown figure 23 ac-link powerdown timing ac-link powerdown occurs when pr4 (register 26h, bit 12) is set (see power management section). parameter symbol min typ max unit end of slot 2 to bitclk and sdatain low t s2_pdown 1.0 s
WM9714L pre-production w pp rev 3.0 june 2006 70 cold reset (asynchronous, resets register settings) resetb bitclk t rst_low t rst2clk figure 24 cold reset timing note: for correct operation sdataout and sync must be held low for entire resetb active low period otherwise the device may enter test mode. see ac'97 specification or wolfson applications note wan104 for more details. parameter symbol min typ max unit resetb active low pulse width t rst_low 1.0 s resetb inactive to bitclk startup delay t rst2clk 162.8 ns warm reset (asynchronous, preserves register settings) figure 25 warm reset timing parameter symbol min typ max unit sync active high pulse width t sync_high 1.3 s sync inactive to bitclk startup delay t rst2clk 162.4 ns
pre-production WM9714L w pp rev 3.0 june 2006 71 register map reg name 151413121110 9 8 7 6 5 4 3 2 1 0default reset 0 se4 se3 se2 se1 se0 id9 id8 id7 id6 id5 id4 id3 id2 id1 id0 6174h speaker volume mul zcl mur zcr 8080h headphone volume mul zcl mur zcr 8080h out3/4 volume mu4 zc4 mu3 zc3 8080h mono vol & monoin pga vol / routing m2h m2s 0 mu zc c880h linein pga volume / routing l2h l2s l2m 0 0 0 e808h dac pga volume / routing d2h d2s d2m 0 0 0 e808h mic pga volume 0 0 0 0 0 0 0808h mic routing 00000000ma2mmb2mmic2mb st 00dah record pga volume rmu grl zc grr 8000h record routing / mux select r2m bst 0rec bst d600h pcbeep volume / routing b2h b2s b2m 0 0 0 0 aaa0h vxdac volume / routing v2h v2s v2m 0 0 0 0 aaa0h auxdac volume / routing a2h a2s a2m 0 0 0 0 aaa0h output pga mux select 0000h dac 3d control & inv mux select 0 0 0 0 3dlc 3duc 0000h dac tone control bb 0 0 bc 0 dat 0 tc 0f0fh mic input select & bias / detect ctrl mbop2e n mbop1e n mbvol 0040h output volume mapping (jack insert) 0 0 0 0 0 0 0 0 0 0 0 jien 0000h powerdown ctrl/stat 0 pr6 pr5 pr4 pr3 pr2 pr1 pr0 0 0 0 0 ref anl dac adc 7f00h extended audio id id1 id0 0 0 rev1 rev0 amap ldac sdac cdac 0 0 vrm spdif dra vra 0405h ext'd audio stat/ctrl 0 0 0 0 0 spcv 0 0 0 0 0 sen 0 vra 0410h audio dacs sample rate bb80h auxdac sample rate bb80h audio adcs sample rate bb80h pcm codec control ctrl 0 vdaco sr cp fsp 4523h spdif control v drs l pre copy aud ib pro 2000h powerdown (1) padcpd vmid 1m tshut vxdac auxdac vref pll 1 dacl dacr adcl adcr hplx hprx spkx mx fdffh powerdown (2) mcd mic bias mono out4 out3 hpl hpr spkl spkr ll lr moin ma mb mpa mpb ffffh general purpose 0 0 3de 0 0 0 0 0 lb 0 0 0 0 0 0 0 0000h fast power-up control 0 0 0 0 0 0 0 0 0 mono spkl spkr hpl hpr out3 out4 0000h mclk / pll control 0 clksrc 0 clkbx2 clkax2 clkmux 0080h mclk / pll control lf sdm divsel divctl 0 0000h gpio pin configuration 1 1 1 1 1 1 1 gc8 gc7 gc6 gc5 gc4 gc3 gc2 gc1 0 fffeh gpio pin polarity / type c1p c2p pp ap tp sp mp gp8 gp7 gp6 gp5 gp4 gp3 gp2 gp1 1 ffffh gpio pin sticky c1s c2s ps as ts ss ms gs8 gs7 gs6 gs5 gs4 gs3 gs2 gs1 0 0000h gpio pin wake-up c1w c2w pw aw tw sw mw gw8 gw7 gw6 gw5 gw4 gw3 gw2 gw1 0 0000h gpio pin status c1i c2i pi ai ti si mi gi8 gi7 gi6 gi5 gi4 gi3 gi2 gi1 0 gpio pins gpio pin sharing 1 1 1 1 1 1 1 ge8 0 ge6 ge5 ge4 0 ge2 1 0 fffeh gpio pull up/down ctrl pu8 pu7 pu6 pu5 pu4 pu3 pu2 pu1 pd8 pd7 pd6 pd5 pd4 pd3 pd2 pd1 4000h additional functions (1) 0 0 0 0 rstdis wakee n irq inv 0000h additional functions (2) amute c1 ref c2 ref 0 amen adco hpf 0 0000h alc control b032h alc / noise gate control 0 ngat 0 ngg 3e00h auxdac input control xsle 0000h digitiser reg 1 0 0 0 0 0 0 poll ctc 0 0000h digitiser reg 2 0 0 0 0 0 0 slen 0006h digitiser reg 3 0 0 0 0 wait 0 0 0 0 0 0 1 0001h digitiser read back 0 0000h vendor id1 574dh vendor id2 4c13h pendiv dcdrvsel earspksel mode div sel wl fmt spsr cc (category code) auxdacslt auxdac val adcsel 7ah adcsrc adcd (auxadc data) del slt 7eh ascii character l device identifier 7ch 78h prp msk ascii character w ascii character m 74h 76h cr 64h ass 60h 62h alcsel maxgain zctimeout ngth (threshold) alcl (target level) hld (hold time) 5ch c1src c2src vbias 58h 5ah comp2del die revision hpmode jsel 50h 52h 54h 56h 4ch 4eh 40h 42h 44h 46h 3ch 3eh 36h 3ah 2eh auxdacsr (auxiliary dac sample rate) 32h adcsr (audio adcs sample rate) 2ah spsa 2ch dacsr (audio dacs sample rate) 24h 26h dcy (decay time) atk (attack time) n[3:0] pgaddr pgdata sext[6:4] sext[3:0] 28h 20h bass trbl 22h miccmpsel mpasel mpabst mpbbst mcdthr mcdscthr 1eh inva invb 3ddepth hpl hpr out3 out4 1ch mono spkl spkr 1ah a2hvol a2svol a2mvol 18h v2hvol v2svol v2mvol recsl recsr 16h b2hvol b2svol b2mvol 14h r2h r2hvol r2m 10h mic2h mic2hvol 12h (extended) recvoll (extended) recvolr 0ch daclvol dacrvol 0eh micavol micbvol 08h monoinvol monovol 0ah linelvol linervol 06h out4vol out3vol 04h hplvol hprvol 00h 02h spklvol spkrvol table 63 WM9714L register map note: register 46h provides access to a sub-page address system to set the s pll [6:0] and k[21:0] register bits (see table 6).
WM9714L pre-production w pp rev 3.0 june 2006 72 register bits by address register address bit label default description refer to 14:10 se [4:0] 11000 indicates a codec from wolfson microelectronics 9:6 id9:6 0101 indicates 18 bits resolution for adcs and dacs 5 id5 1 indicates that the WM9714L supports bass boost 4 id4 1 indicates that the WM9714L has a headphone output 3 id3 0 indicates that the WM9714L does not support simulated stereo 2 id2 1 indicates that the WM9714L supports bass and treble control 1 id1 0 indicates that the WM9714L does not support modem functions 00h 0 id0 0 indicates that the WM9714L does not have a dedicated microphone adc intel s ac 97 component specification, revision 2.2, page 50 register 00h is a read-only register. writing any value to this register resets all registers to their default, but does not change the contents of reg. 00h. reading the register reveals information about the codec to the driver, as required by the ac 97 specification, revision 2.2 register address bit label default description refer to 15 mul 1 (mute) mutes spkl 14 zcl 0 (off) enables zero-cross detector on spkl 13:8 spklvol 000000 (0db) spkl volume 7 mur 1 (mute) mutes spkr 6 zcr 0 (off) enables zero-cross detector on spkr 02h 5:0 spkrvol 000000 (0db) spkr volume analogue audio outputs register 02h controls the output pins spkl and spkr. register address bit label default description refer to 15 mul 1 (mute) mutes hpl 14 zcl 0 (off) enables zero-cross detector on hpl 13:8 hpl vol 000000 (0db) hpl volume 7 mur 1 (mute) mutes hpr 6 zcr 0 (off) enables zero-cross detector on hpr 04h 5:0 hpr vol 000000 (0db) hpr volume analogue audio outputs register 04h controls the headphone output pins, hpl and hpr. register address bit label default description refer to 15 mu4 1 (mute) mutes out4 14 zc4 0 (off) enables zero-cross detector 13:8 out4vol 000000 (0db) out4 volume 7 mu3 1 (mute) mutes out3 6 zc3 0 (off) enables zero-cross detector 06h 5:0 out3vol 000000 (0db) out3 volume analogue audio outputs register 06h controls the analogue output pins out3 and out4.
pre-production WM9714L w pp rev 3.0 june 2006 73 register address bit label default description refer to 15 m2h 1 (mute) mutes monoin to headphone mixer paths 14 m2s 1 (mute) mutes monoin to speaker mixer path 12:8 monoinvol 01000 (0db) controls monoin input gain to all mixers (but not to adc) 7 mu 1 (mute) mutes mono. 6 zc 0 (off) enables zero-cross detector 08h 5:0 monovol 000000 (0db) mono volume analogue inputs; analogue audio outputs register 08h controls the analogue output pin mono and the analogue input pin monoin. register address bit label default description refer to 15 l2h 1 (mute) mutes line to headphone mixer paths 14 l2s 1 (mute) mutes line to speaker mixer path 13 l2m 1 (mute) mutes line to mono mixer path 12:8 linelvol 01000 (0db) controls linel input gain to all mixers (but not to adc) 0ah 4:0 linervol 01000 (0db) controls liner input gain to all mixers (but not to adc) analogue inputs, line input register 0ah controls the analogue input pins linel and liner. register address bit label default description refer to 15 d2h 1 (mute) mutes dac to headphone mixer path 14 d2s 1 (mute) mutes dac to speaker mixer path 13 d2m 1 (mute) mutes dac to mono mixer path 12:8 daclvol 01000 (0db) controls left dac input gain to all mixers 0ch 4:0 dacrvol 01000 (0db) controls right dac input gain to all mixers audio dacs register 0ch controls the audio dacs (but not auxdac). register address bit label default description refer to 12:8 micavol 01000 (0db) controls mica pga volume 0eh 4:0 micbvol 01000 (0db) controls micb pga volume analogue inputs, microphone input register 0eh controls the microphone pga volume (mica and micb). register address bit label default description refer to 7 ma2m 1 (mute) mutes mica to mono mixer path 6 mb2m 1 (mute) mutes micb to mono mixer path 5 mic2mbst 0 (off) enables 20db gain boost at mono mixer for mica and micb 4:3 mic2h 11 (mute) controls microphone to headphone mixer paths. 00=stereo, 01=mica only, 10=micb only, 11=mute mica and micb 10h 2:0 mic2hvol 010 (0db) controls gain of microphone to headphone mixer path analogue inputs, microphone input register 10h controls the microphone routing (mica and micb).
WM9714L pre-production w pp rev 3.0 june 2006 74 register address bit label default description refer to 15 rmu 1 (mute) mutes audio adc input 14 grl 0 (standard) selects gain range for pga of left adc. 0=0...+22.5db in 1.5db steps, 1=-17.25...+30db in 0.75db steps 13:8 recvoll 000000 (0db) controls left adc recording volume 7 zc 0 (off) enables zero-cross detector 6 grr 0 (standard) selects gain range for pga of right adc. 0=0...+22.5db in 1.5db steps, 1=-17.25...+30db in 0.75db steps 12h 5:0 recvolr 000000 (0db) controls right adc recording volume audio adc, record gain register 12h controls the record volume. register address bit label default description refer to 15:14 r2h 11 (mute) controls record mux to headphone mixer paths. 00=stereo, 01=left adc only, 10=right adc only, 11=mute left and right 13:11 r2hvol 010 (0db) controls gain of record mux l/r to headphone mixer paths 10:9 r2m 11 (mute) controls record mux to mono mixer path. 00=stereo, 01=left rec mux only, 10=right rec mux only, 11=mute left and right 8 r2mbst 0 (off) enables 20db gain boost for record mux to mono mixer path 6 recbst 0 (off) enables 20db gain boost for adc record path 5:3 recsl 000 (mic) selects left record mux signal source: 000=mica, 001=micb, 010=linel, 011=monoin, 100=hpmixl, 101=spkmic, 110=monomix, 111=reserved (do not use) 14h 2:0 recsr 000 (mic) selects right record mux signal source: 000=mica, 001=micb, 010=liner, 011=monoin, 100=hpmixr, 101= spkmic, 110=monomix, 111=reserved (do not use) audio adc, record selector register 14h controls the.record selector and the adc to mono mixer path. register address bit label default description refer to 15 b2h 1 (mute) mutes pcbeep to headphone mixer paths 14:12 b2hvol 010 (0db) controls gain of pc beep to headphone mixer paths 11 b2s 1 (mute) mutes pcbeep to speaker mixer path 10:8 b2svol 010 (0db) controls gain of pc beep to s peaker mixer path 7 b2m 1 (mute) mutes pcbeep to mono mixer path 16h 6:4 b2mvol 010 (0db) controls gain of pc beep to m ono mixer path analogue inputs, pcbeep input register 16h controls the analogue input pin pc beep.
pre-production WM9714L w pp rev 3.0 june 2006 75 register address bit label default description refer to 15 v2h 1 (mute) mutes vxdac to headphone mixer paths 14:12 v2hvol 010 (0db) controls gain of vxdac to headphone mixer paths 11 v2s 1 (mute) mutes vxdac to speaker mixer path 10:8 v2svol 010 (0db) controls gain of vxdac to speaker mixer path 7 v2m 1 (mute) mutes vxdac to mono mixer path 18h 6:4 v2mvol 010 (0db) controls gain of vxdac to mono mixer path audio mixers, side tone control register 18h controls the output signal of the voice dac. register address bit label default description refer to 15 a2h 1 (mute) mutes auxdac to headphone mixer paths 14:12 a2hvol 010 (0db) controls gain of auxdac to headphone mixer paths 11 a2s 1 (mute) mutes auxdac to speaker mixer path 10:8 a2svol 010 (0db) controls gain of auxdac to speaker mixer path 7 a2m 1 (mute) mutes auxdac to mono mixer path 1ah 6:4 a2mvol 010 (0db) controls gain of auxdac to mono mixer path auxiliary dac register 1ah controls the output signal of the auxiliary dac. register address bit label default description refer to 15:14 mono 00 (vmid) mono pga input select: 00=vmid; 01=no i/p (z h if buffer disabled); 10=monomix; 11=inv1 13:11 spkl 000 (vmid) spkl pga input select: 000=vmid; 001=no i/p (z h if buffer disabled); 010=hpmixl; 011= spkmix; 100=inv1; 101-111=unused 10:8 spkr 000 (vmid) spkr pga input select: 000=vmid; 001=no i/p (z h if buffer disabled); 010=hpmixr; 011=spkmix; 100=inv2; 101-111=unused 7:6 hpl 00 (vmid) hpl pga input select: 00=vmid; 01=no i/p (z h if buffer disabled); 10=hpmixl; 11=unused 5:4 hpr 00 (vmid) hpr pga input select: 00=vmid; 01=no i/p (z h if buffer disabled); 10=hpmixr; 11=unused 3:2 out3 00 (vmid) out3 pga input select: 00=vmid; 01=no i/p (z h if buffer disabled); 10=inv1; 11=unused 1ch 1:0 out4 00 (vmid) out4 pga input select: 00=vmid; 01=no i/p (z h if buffer disabled); 10=inv2; 11=unused analogue audio outputs register 1ch controls the inputs to the output pgas. register address bit label default description refer to 15:13 inv1 000 (z h ) inv1 input select: 000=z h (off C no source selected); 001=monomix; 010=spkmix; 011=hpmixl; 100=hpmixr; 101=hpmixmono; 110=unused; 111=vmid 12:10 inv2 000 (z h ) inv2 input select: 000=z h (off C no source selected); 001=monomix; 010=spkmix; 011=hpmixl; 100=hpmixr; 101=hpmixmono; 110=unused; 111=vmid 5 3dlc 0 (low) selects lower cut-off frequency 4 3duc 0 (high) selects upper cut-off frequency 1eh 3:0 3ddepth 0000 (0%) controls depth of 3d effect audio dacs, 3d stereo enhancement; analogue audio outputs register 1eh controls 3d stereo enhancement for the audio dacs and input muxes to the output inverters inv1 and inv2.
WM9714L pre-production w pp rev 3.0 june 2006 76 register address bit label default description refer to 15 bb 0 (linear) selects linear bass control or adaptive bass boost 12 bc 0 (low) selects bass cut-off frequency 11:8 bass 1111 (off) controls bass intensity 6 dat 0 (off) enables 6db pre-dac attenuation 4 tc 0 (high) selects treble cut-off frequency 20h 3:0 trbl 1111 (off) controls treble intensity audio dacs, tone control / bass boost register 20h controls the bass and treble response of the left and right audio dac (but not auxdac). register address bit label default description refer to 15:14 miccmpsel 00 (mics) selects input function for mic2a/comp1 and mic2b/comp2 13:12 mpasel 00 (mic1) selects i nput to mica preamp (from mic1, mic2a, mic2b) 11:10 mpabst 00 ( 12db) controls mica preamp gain boost 9:8 mpbbst 00 ( 12db) controls micb preamp gain boost 7 mbop2en 0 (off) enables microphone bias output path to pin 12 6 mbop1en 1 (on) enables microphone bias output path to micbias 5 mbvol 0 (0.9xavdd) selects microphone bias voltage 4:2 mcdthr 000 (100ua) controls microphone current detect threshold 22h 1:0 mcdscthr 00 (600ua) controls microphone short-circuit detect threshold analogue inputs, microphone input register 22h controls the microphone input configuration and microphone bias and detect configuration. register address bit label default description refer to 4 jien 0 (off) jack insert detect enable 3:2 dcdrvsel 00 (ac) output pga source for headphone dc reference (default is ac coupled C no source selected) 24h 1:0 earspksel 00 ear speaker source select (default is no source selected) analogue audio outputs register 24h controls the output volume mapping on headphone jack insertion. register address bit label default description refer to 14 pr6 1 (off) disables all output pgas 13 pr5 1 (off) disables internal clock 12 pr4 1 (off) disables ac-link interface (external clock off) 11 pr3 1 (off) disables vref, input pgas, dacs, adcs, mixers and outputs 10 pr2 1 (off) disables input pgas and mixers 9 pr1 1 (off) disables stereo dac 8 pr0 1 (off) disables stereo adcs and record mux pga 3 ref 0 read-only bit, indicates vref is ready (inverse of pr3) 2 anl 0 read-only bit, indicates analogue mixers are ready (inverse of pr2) 1 dac 0 read-only bit, indicates stereo dac is ready (inverse of pr1) 26h 0 adc 0 read-only bit, indicates stereo adc is ready (inverse of pr0) power management register 26h is for power management according to the ac 97 specification. note that the actual state of many circuit blocks depends on both register 26h and registers 3ch and 3eh.
pre-production WM9714L w pp rev 3.0 june 2006 77 register address bit label default description refer to 15:14 id 00 indicates that the WM9714L is configured as the primary codec in the system. 11:10 rev 01 indicates that the WM9714L conforms to ac 97 rev2.2 9 amap 0 indicates that the WM9714L does not support slot mapping 8 ldac 0 indicates that the WM9714L does not have an lfe dac 7 sdac 0 indicates that the WM9714L does not have surround dacs 6 cdac 0 indicates that the WM9714L does not have a centre dac 3 vrm 0 indicates that the WM9714L does not have a dedicated, variable rate microphone adc 2 spdif 1 indicates that the WM9714L supports spdif output 1 dra 0 indicates that the WM9714L does not support double rate audio 28h 0 vra 1 indicates that the WM9714L supports variable rate audio intel s ac 97 component specification, revision 2.2, page 59 register 28h is a read-only register that indicates to the driver which advanced ac 97 features the WM9714L supports. register address bit label default description refer to 10 spcv 1 (valid) spdif validity bit (read-only) 5:4 spsa 01 (slots 6, 9) controls spdif slot assignment. 00=slots 3 and 4, 01=6/9, 10=7/8, 11=10/11 2 sen 0 (off) enables spdif output enable 2ah 0 vra 0 (off) enables variable rate audio digital audio (spdif) output register 2ah controls the spdif output and variable rate audio. register address bit label default description refer to 2ch all dacsr bb80h controls stereo dac sample rate 2eh all auxdacsr bb80h controls auxiliary dac sample rate 32h all adcsr bb80h controls audio adc sample rate variable rate audio / sample rate conversion note: the vra bit in register 2ah must be set first to obtain sample rates other than 48khz registers 2ch, 2eh 32h and control the sample rates for the stereo dac, auxiliary dac and audio adc, respectively.
WM9714L pre-production w pp rev 3.0 june 2006 78 register address bit label default description refer to 15 ctrl 0 (gpio reg) specifies how the pcm interface pins are controlled. 14:13 mode 10 (master mode) pcm interface mode when pcmctrl=1 11:9 div 010 (1/4) voice dac clock to pcmclk divider reserved 7 cp 0 (normal) pcmclk polarity 6 fsp 0 right, left and i 2 s modes C pcmfs polarity dsp mode C mode a/b select 5:4 sel 00 (landr data) pcm adc channel select 3:2 wl 10 (24 bits) pcm data word length 36h 1:0 fmt 10 (i 2 s) pcm data format select pcm codec register 36h controls the pcm codec. register address bit label default description refer to 15 v 0 validity bit; 0 indicates frame valid, 1 indicates frame not valid 14 drs 0 indicates that the WM9714L does not support double rate spdif output (read-only) 13:12 spsr 10 indicates that the wm 9714l only supports 48khz sampling on the spdif output (read-only) 11 l 0 generation level; programmed as required by user 10:4 cc 0000000 category code; programmed as required by user 3 pre 0 pre-emphasis; 0 indicates no pre-emphasis, 1 indicates 50/15us pre-emphasis 2 copy 0 copyright; 0 indicates copyright is not asserted, 1 indicates copyright 1 audib 0 non-audio; 0 indicates data is pcm, 1 indicates non-pcm format (e.g. dd or dts) 3ah 0 pro 0 professional; 0 indicates consumer, 1 indicates professional digital audio (spdif) output register 3ah read/write. controls the spdif output.
pre-production WM9714L w pp rev 3.0 june 2006 79 register address bit label default description refer to 15 pd15 1 (off) auxadc power down 14 vmid1m 1 (off) disables 1meg vmid resistor string 13 tshut 1 (off) disables thermal shutdown 12 vxdac 1 (off) disables vxdac 11 auxdac 1 (off) disables auxdac 10 vref 1 (off) disables reference generator 9 pll 1 (off) disables pll 7 dacl 1 (off) disables left dac 6 dacr 1 (off) disables right dac 5 adcl 1 (off) disables left adc 4 adcr 1 (off) disables right adc 3 hplx 1 (off) disables left headphone mixer 2 hprx 1 (off) disables right headphone mixer 1 spkx 1 (off) disables speaker mixer 3ch 0 mx 1 (off) disables mono mixer power management * 0 corresponds to on , if and only if the corresponding bit in register 26h is also 0. register 3ch is for power management additional to the ac 97 specification. note that the actual state of each circuit block depends on both register 3ch and register 26h. register address bit label default description refer to 15 mcd 1 (off) disables microphone current detect 14 micbias 1 (off) disables microphone bias 13 mono 1 (off) disables mono output pga 12 out4 1 (off) disables out4 output pga 11 out3 1 (off) disables out3 output pga 10 hpl 1 (off) disables hpl output pga 9 hpr 1 (off) disables hpr output pga 8 spkl 1 (off) disables spkl output pga 7 spkr 1 (off) disables spkr output pga 6 ll 1 (off) disables linel pga 5 lr 1 (off) disables liner pga 4 moin 1 (off) disables monoin pga 3 ma 1 (off) disables mic pga ma 2 mb 1 (off) disables mic pga mb 1 mpa 1 (off) disables mic pre-amp mpa 3eh 0 mpb 1 (off) disables mic pre-amp mpb power management * 0 corresponds to on , if and only if the corresponding bit in register 26h is also 0. register 3eh is for power management additional to the ac 97 specification. note that the actual state of each circuit block depends on both register 3eh and register 26h. register address bit label default description refer to 13 3de 0 (off) enables 3d enhancement audio dacs, 3d stereo enhancement 40h 7 lb 0 (off) enables loopback (i.e. feed adc output data directly into dac) intel s ac 97 component specification, revision 2.2, page 55 register 40h is a general purpose register as defined by the ac 97 specification. only two bits are implemented in the WM9714L.
WM9714L pre-production w pp rev 3.0 june 2006 80 register address bit label default description refer to 6 mono 0 (off) enables fast power for mono output 5 spkl 0 (off) enables fast power for spkl output 4 spkr 0 (off) enables fast power for spkr output 3 hpl 0 (off) enables fast power for hpl output 2 hpr 0 (off) enables fast power for hpr output 1 out3 0 (off) enables fast power for out3 output 42h 0 out4 0 (off) enables fast power for out4 output analogue audio outputs, power-up register 42h controls power-up conditions for output pgas. register address bit label default description refer to 14:1 2 s ext [6:4] 000 (div 1) defines clock division ratio for hi-fi block: 000=f; 001=f/2; ... ; 111=f/8 11:8 s ext [3:0] 0000 (div 1) defines clock division ratio for voice dac clock: 0000=f; 0001=f/2; ; 1111=f/16 7 clksrc 1 (ext clk) selects between pll clock and external clock 5:3 pendiv 000 (div 16) sets auxadc clock divisor: 000=f/16; 001=f/12; 010=f/8; 011=f/6; 100=f/4; 101=f/3; 110=f/2; 111=f 2 clkbx2 0 (off) clock doubler for mclkb 1 clkax2 0 (off) clock doubler for mclka 44h 0 clkmux 0 (mclka) selects between mclka and mclkb (n.b. on power-up clock must be present on mclka and must be active for 2 clock cycles after switching to mclkb) clock generation register 44h controls clock division and muxing. register address bit label default description refer to 15:1 2 n[3:0] 0000 pll integer division control (must be set between 5- 12 for integer n mode) 11 lf 0 = off allows pll operation with low frequency input clocks (< 8.192mhz) 10 sdm 0 sigma delta modulator enable. allows fractional n division 9 divsel 0 = off enables input clock to pll to be divided by 2 or 4. use if input clock is above 14.4mhz 8 divctl 0 controls division mode when di vsel is high. 0 = div by 2, 1= div by 4. 6:4 pgaddr 000 pager address bits to access programming of k[21:0] and s pll [6:0] 46h 3:0 pgdata 0000 pager data bits analogue audio outputs, power-up register 46h controls pll clock generation.
pre-production WM9714L w pp rev 3.0 june 2006 81 register address bit label default description refer to 4ch all 1 (all inputs) except unused bits controls gpio configuration as inputs or as outputs (note: virtual gpios can only be inputs) 4eh all 1 controls gpio polarity (actual polarity depends on register 4ch and register 4eh) 50h all 0 (not sticky) makes gpio signals sticky 52h all 0 (off) enables wake-up for each gpio signal 54h = status of gpio inputs gpio pin status (read from inputs, write 0 to clear sticky bits) 15 controls comparator 1 signal (virtual gpio) 14 controls comparator 2 signal (virtual gpio) 12 controls ada signal (virtual gpio) 11 controls thermal sensor signal (virtual gpio) 10 controls microphone short detect (virtual gpio) 9 controls microphone insert detect (virtual gpio) 8 controls gpio8 (pin 3) 7 controls gpio7 (pin 11) 6 controls gpio6 (pin 12) 5 controls gpio5 (pin 48) 4 controls gpio4 (pin 47) 3 controls gpio3 (pin 46) 2 controls gpio2 (pin 45) 1 please refer to the register map controls gpio1 (pin 44) gpio and interrupt control register 4ch to 54h control the gpio pins and virtual gpio signals. register address bit label default description refer to 8 ge8 1 (gpio) selects between gpio8 and spdif_out function for pin 12 6 ge6 1 (gpio) selects between gpio6 and ada/mask functions for pin 3 5 ge5 1 (gpio) selects between gpio5 and spdif_out function for pin 48 4 ge4 1 (gpio) selects between gpio4 and ada/mask functions for pin 47 56h 2 ge2 1 (gpio) selects between gpio2 and irq function for pin 45 gpio and interrupt control register 56h controls the use of gpio pins for non-gpio functions. register address bit label default description refer to 15:8 pu 01000000 enables weak pull-up on gpio pins (1=on) 58h 7:0 pd 00000000 enables weak pull-down on gpio pins (1=on) gpio and interrupt control register 56h controls gpio pull-up/down.
WM9714L pre-production w pp rev 3.0 june 2006 82 register address bit label default description refer to 15:13 comp2del 000 (no delay) selects comparator 2 delay battery alarm 8 rstdis 0 (resetb enabled) disables resetb pin to enable use as a gpio gpio interrupt and control 7:6 jsel 00 (gpio1) selects gpio for jack insert detect: 00: gpio1 01: gpio6 10: gpio7 11: gpio8 jack insertion & auto- switching 5:4 hpmode 00 hpf corner frequency 00: 7hz @ fs=48khz 01: 82hz @ fs=16khz 10: 82hz @ fs=8khz 11: 170hz @ fs=8khz audio adcs 3:2 die rev indicates device revision. 00=rev.a, 01=rev.b, 10=rev.c n/a 1 wakeen 0 (no wake-up) enables gpio wake-up 5ah 0 irq inv 0 (not inverted) inverts the irq signal (pin 45) gpio and interrupt control register 5ah controls several additional functions. register address bit label default description refer to 15 amute 0 read-only bit to indicate dac auto- muting audio dacs, stereo dacs 14 c1ref 0 (avdd/2) selects comparator 1 reference voltage 13:12 c1src 00 (off) selects comparator 1 signal source 11 c2ref 0 (avdd/2) selects comparator 1 reference voltage 10:9 c2src 00 (off) selects comparator 1 signal source battery alarm 7 amen 0 (off) enables dac auto-mute 6:5 vbias 00 selects analogue bias for lowest power, depending on avdd supply. 0x=3.3v, 10=2.5v, 11=1.8v power management 4 adco 0 selects source of spdif data. 0=from sdataout, 1= from audio adc digital audio (spdif) output 3 hpf 0 disables adc high-pass filter audio adc 5ch 1:0 ass 00 selects time slots for stereo adc data. 00=slots 3 and 4, 01=7/8, 10=6/9, 11=10/11 audio adc, adc slot mapping register 5ch controls several additional functions.
pre-production WM9714L w pp rev 3.0 june 2006 83 register address bit label default description refer to 15:12 alcl 1011 (-12db) controls alc threshold 11:8 hld 0000 (0 ms) controls alc hold time 7:4 dcy 0011 (192 ms) controls alc decay time 60h 3:0 atk 0010 (24 ms) controls alc attack time 15:14 alcsel 00 (off) controls which channel alc operates on. 00=none, 01=right only, 10=left only, 11=both 13:11 maxgain 111 (+30db) controls upper gain limit for alc 10:9 zc timeout 11 (slowest) controls time-out for zero-cross detection 7 ngat 0 (off) enables noise gate function 5 ngg 0 (hold gain) selects noise gate type. 0=hold gain, 1=mute 62h 4:0 ngth 00000 (-76.5db) controls noise gate threshold audio adc, automatic level control registers 60h and 62h control the alc and noise gate functions. register address bit label default description refer to 15 xsle 0 selects input for auxdac. 0=from auxdacval (for dc signals), 1=from ac-link slot (for ac signals) 14:12 auxdacslt 000 (slot 5) selects input slot for auxdac (with xsle=1) 64h 11:0 auxdacval 000000000 auxdac digital input for auxdac (with xsle=0). 000h= minimum, fffh=full-scale auxiliary dac register 64h controls the input signal of the auxiliary dac. register address bit label default description refer to 9 poll 0 writing 1 initiates a measurement (when ctc is not set) 8 ctc 0 0=polling mode; 1=continuous mode (for dma) 7 adcsel_aux4 0 enable comp1/aux4 measurement (pin32) 6 adcsel_aux3 0 enable comp1/aux3 measurement (pin31) 5 adcsel_aux2 0 enable comp1/aux2 measurement (pin30) 74h 4 adcsel_aux1 0 enable comp1/aux1 measurement (pin29) 9:8 cr 00 (93.75hz) controls conversion rate in continuous mode 7:4 del 0000 (20.8s) controls auxadc settling time 3 slen 1 enables slot readback of auxadc data 76h 2:0 slt 110 (slot 11) selects time slot for readback of auxadc data 15:14 prp 00 selects mode of operation. 00=off, 01/10=reserved, 11=on 9 wait 0 controls data readback from register 7ah. 0=overwrite old data with new, 1=wait until old data has been read 7:6 msk 00 (off) controls mask feature 14:12 adcsrc 000 (none) indicates measurement type 78h 11:0 adcd 000h returns data from auxadc auxadc registers 76h, 78h and 7ah control the auxadc.
WM9714L pre-production w pp rev 3.0 june 2006 84 register address bit label default description refer to 15:8 f7:0 57h ascii character w for wolfson 7ch 7:0 s7:0 4dh ascii character m 15:8 t7:0 4ch ascii character l 7eh 7:0 rev7:0 13h device identifier intel s ac 97 component specification, revision 2.2, page 50 register 7ch and 7eh are read-only registers that indicate to the driver that the codec is a WM9714L.
pre-production WM9714L w pp rev 3.0 june 2006 85 applications information recommended external components figure 26 recommended external component diagram
WM9714L pre-production w pp rev 3.0 june 2006 86 line output the headphone outputs, hpl and hpr, can be used as stereo line outputs. the speaker outputs, spkl and spkr, can also be used as line outputs. recomm ended external components are shown below. figure 27 recommended circuit for line output the dc blocking capacitors and the load resistance together determine the lower cut-off frequency, fc. assuming a 10 k ? load and c1, c2 = 10 f: fc = 1 / 2 (r l +r 1 ) c 1 = 1 / (2 x 10.1k ? x 1 f) = 16 hz increasing the capacitance lowers fc, improving the bass response. smaller values of c1 and c2 will diminish the bass response. the function of r1 and r2 is to protect the line outputs from damage when used improperly. ac-coupled headphone output the circuit diagram below shows how to connect a stereo headphone to the WM9714L. figure 28 simple headphone output circuit diagram the dc blocking capacitors c1 and c2 together with the load resistance determine the lower cut-off frequency, fc. increasing the capacitance lowers fc, improving the bass response. smaller capacitance values will diminish the bass response. for example, with a 16 ? load and c1 = 220 f: fc = 1 / 2 r l c 1 = 1 / (2 x 16 ? x 220 f) = 45 hz
pre-production WM9714L w pp rev 3.0 june 2006 87 dc coupled (capless) headphone output in the interest of saving board space and cost, it may be desirable to eliminate the 220 f dc blocking capacitors. this can be achieved by using out3 as a headphone pseudo-ground, as shown below. figure 29 capless headphone output circuit diagram as the out3 pin produces a dc voltage of avdd/2, there is no dc offset between hpl/hpr and out3, and therefore no dc blocking capacitors are required. however, this configuration has some drawbacks: the power consumption of the WM9714L is increased, due to the additional power consumed in the out3 output buffer. if the dc coupled output is connected to the line-in of a grounded piece of equipment, then out3 becomes short-circuited. although the built-in short circuit protection will prevent any damage to the WM9714L, the audio signal will not be transmitted properly. out3 cannot be used for another purpose btl loudspeaker output spkl and spkr can differentially drive a mono 8 ? loudspeaker as shown below. figure 30 speaker output connection (inv = 1) to drive out differentially one of the speaker outputs must be inverted using inv1 or inv2. combined headset / btl ear speaker in smartphone applications with a loudspeaker and separate ear speaker (receiver), a btl ear speaker can be connected at the out3 pin, as shown below. figure 31 combined headset / btl ear speaker
WM9714L pre-production w pp rev 3.0 june 2006 88 the ear speaker and the headset play the same signal. whenever the headset is plugged in, the headphone outputs are enabled and out3 disabled. when the headset is not plugged in, out3 is enabled (see jack insertion and auto-switching ) combined headset / single-ended ear speaker instead of a btl ear speaker, a single-ended ear speaker can also be used, as shown below. figure 32 combined headset / single-ended ear speaker jack insert detection the circuit diagram below shows how to detect when a headphone or headset has been plugged into the headphone socket. it generates an interrupt, instructing the controller to enable hpl and hpr and disable out3. figure 33 jack insert detection circuit the circuit requires a headphone socket with a switch that closes on insertion (for using sockets with a switch that opens on insertion, please refer to application note wan0182). it detects both headphones and phone headsets. any gpio pin can be used, provided that it is configured as an input.
pre-production WM9714L w pp rev 3.0 june 2006 89 hookswitch detection alternatively a headphone socket with a switch that opens on insertion can be used. for this mode of operation the gpio input must be inverted. the circuit diagram below shows how to detect when the hookswitch of a phone headset is pressed (pressing the hookswitch is equivalent to lifting the receiver in a stationary telephone). figure 34 hookswitch detection circuit the circuit uses a gpio pin as a sense input. the impedance of the microphone and the resistor in the micbias path must be such that the potential at the gpio pin is above 0.7 dbvdd when the hookswitch is open, and below 0.3 dbvdd when it is closed.
WM9714L pre-production w pp rev 3.0 june 2006 90 typical output configurations the WM9714L has three outputs capable of driving loads down to 16 ? (headphone / line drivers) C hpl, hpr and mono - and four outputs capable of driving loads down to 8 ? (loudspeaker / line drivers) C spkl, spkr, out3 and out4. the combination of output drivers, mixers and mixer inverters means that many output configurations can be supported. below are some examples of typical output configurations for smartphone applications. stereo speaker figure 35 shows a typical output configuration for stereo speakers with headphones, ear speaker and hands-free operation. the table shows suggested mixer outputs to select for each output pga for a given operating scenario. (note the inverted mixer outputs can be achieved using the mixer output inverters inv1 and inv2). figure 35 stereo speaker output configuration
pre-production WM9714L w pp rev 3.0 june 2006 91 mono speaker figure 36 shows a typical output configuration for mono speaker with headphones, ear speaker and hands-free operation. the table shows suggested mixer outputs to select for each output pga for a given operating scenario. (note the inverted mixer outputs can be achieved using the mixer output inverters inv1 and inv2). figure 36 mono speaker output configuration
WM9714L pre-production w pp rev 3.0 june 2006 92 WM9714L mono speaker figure 37 shows a typical output configuration compatible with the wm9712 for mono speaker with headphones, ear speaker and hands-free operation. the table shows suggested mixer outputs to select for each output pga for a given operating scenario. (note the inverted mixer outputs can be achieved using the mixer output inverters inv1 and inv2). when using this configuration note that avdd, hpvdd and spkvdd must all be at the same voltage to achieve the best performance. figure 37 WM9714L mono speaker configuration
pre-production WM9714L w pp rev 3.0 june 2006 93 package dimensions e dm029.e fl: 48 pin qfn plastic package 7 x 7 x 0.9 mm body, 0.50 mm lead pitch index area (d/2 x e/2) top view c aaa 2 x see detail 2 e2 e2/2 b d2 24 l d2/2 c aaa 2 x 25 36 37 48 1 12 13 d e e datum see detail 1 c 0.08 c ccc a a1 c (a3) seating plane detail 3 detail 3 detail 2 terminal tip r e/2 1 detail 1 (a3) g t h w b exposed lead half etch tie bar symbols dimensions (mm) min nom max note a b d d2 e e2 e l 0.80 0.90 1.00 0.30 0.25 0.18 7.00 bsc 5.25 5.15 5.00 7.00 bsc 0.5 bsc 5.15 5.25 5.00 0.30 0.4 0.50 1 a1 a3 0 0.02 0.05 0.20 ref g h 0.213 0.1 notes: 1. dimension b applied to metallized terminal and is measured between 0.15 mm and 0.30 mm from terminal tip. 2. all dimensions are in millimetres 3. the terminal #1 identifier and terminal numbering convention shall conform to jesd 95-1 spp-002. 4. coplanarity applies to the exposed heat sink slug as well as the terminals. 5. this drawing is subject to change without notice. 6. refer to application note wan_0118 for further information regarding pcb footprints and qfn p ackage soldering. jedec, mo-220, variation vkkd-2 tolerances of form and position t w aaa bbb ccc 0.1 0.2 0.15 0.10 0.10 ref exposed ground paddle 6 r = 0.3mm exposed ground paddle bottom view side view
WM9714L pre-production w pp rev 3.0 june 2006 94 important notice wolfson microelectronics plc ( wolfson ) products and services are sold subject to wolfson s terms and conditions of sale, delivery and payment supplied at the time of order acknowledgement. wolfson warrants performance of its products to the specifications in effect at the date of shipment. wolfson reserves the right to make changes to its products and specifications or to discontinue any product or service without notice. customers should therefore obtain the latest version of relevant information from wolfson to verify that the information is current. testing and other quality control techniques are utilised to the extent wolfson deems necessary to support its warranty. specific testing of all parameters of each device is not necessarily performed unless required by law or regulation. in order to minimise risks associated with customer applications, the customer must use adequate design and operating safeguards to minimise inherent or procedural hazards. wolfson is not liable for applications assistance or customer product design. the customer is solely responsible for its selection and use of wolfson products. wolfson is not liable for such selection or use nor for use of any circuitry other than circuitry entirely embodied in a wolfson product. wolfson s products are not intended for use in life support systems, appliances, nuclear systems or systems where malfunction can reasonably be expected to result in personal injury, death or severe property or environmental damage. any use of products by the customer for such purposes is at the customer s own risk. wolfson does not grant any licence (express or implied) under any patent right, copyright, mask work right or other intellectual property right of wolfson covering or relating to any combination, machine, or process in which its products or services might be or are used. any provision or publication of any third party s products or services does not constitute wolfson s approval, licence, warranty or endorsement thereof. any third party trade marks contained in this document belong to the respective third party owner. reproduction of information from wolfson datasheets is permissible only if reproduction is without alteration and is accompanied by all associated copyright, proprietary and other notices (including this notice) and conditions. wolfson is not liable for any unauthorised alteration of such information or for any reliance placed thereon. any representations made, warranties given, and/or liabilities accepted by any person which differ from those contained in this datasheet or in wolfson s standard terms and conditions of sale, delivery and payment are made, given and/or accepted at that person s own risk. wolfson is not liable for any such representations, warranties or liabilities or for any reliance placed thereon by any person. address: wolfson microelectronics plc westfield house 26 westfield road edinburgh eh11 2qb united kingdom tel :: +44 (0)131 272 7000 fax :: +44 (0)131 272 7001 email :: sales@wolfsonmicro.com


▲Up To Search▲   

 
Price & Availability of WM9714L

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X